Skip to content

Commit db9ea88

Browse files
committed
Update cmake to support other types of builds
1 parent 050c8b0 commit db9ea88

File tree

2 files changed

+59
-45
lines changed

2 files changed

+59
-45
lines changed

CMakeLists.txt

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -72,13 +72,27 @@ else()
7272
endif()
7373

7474
if(WIN32)
75-
set_property(TARGET python3 PROPERTY IMPORTED_LOCATION_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/python3.12/windows/debug/bin/python312_d.dll")
76-
set_property(TARGET python3 PROPERTY IMPORTED_IMPLIB_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/python3.12/windows/debug/bin/python312_d.lib")
77-
set_property(TARGET python3 PROPERTY IMPORTED_LOCATION_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/python3.12/windows/release/bin/python312.dll")
78-
set_property(TARGET python3 PROPERTY IMPORTED_IMPLIB_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/python3.12/windows/release/bin/python312.lib")
75+
set(PYTHON_DEBUG_LIB "${CMAKE_CURRENT_SOURCE_DIR}/python3.12/windows/debug/bin/python312_d.dll")
76+
set(PYTHON_DEBUG_IMPLIB "${CMAKE_CURRENT_SOURCE_DIR}/python3.12/windows/debug/bin/python312_d.lib")
77+
set(PYTHON_RELEASE_LIB "${CMAKE_CURRENT_SOURCE_DIR}/python3.12/windows/release/bin/python312.dll")
78+
set(PYTHON_RELEASE_IMPLIB "${CMAKE_CURRENT_SOURCE_DIR}/python3.12/windows/release/bin/python312.lib")
79+
80+
set_property(TARGET python3 PROPERTY IMPORTED_LOCATION_DEBUG ${PYTHON_DEBUG_LIB})
81+
set_property(TARGET python3 PROPERTY IMPORTED_IMPLIB_DEBUG ${PYTHON_DEBUG_IMPLIB})
82+
set_property(TARGET python3 PROPERTY IMPORTED_LOCATION_RELEASE ${PYTHON_RELEASE_LIB})
83+
set_property(TARGET python3 PROPERTY IMPORTED_IMPLIB_RELEASE ${PYTHON_RELEASE_IMPLIB})
84+
set_property(TARGET python3 PROPERTY IMPORTED_LOCATION_RELWITHDEBINFO ${PYTHON_RELEASE_LIB})
85+
set_property(TARGET python3 PROPERTY IMPORTED_IMPLIB_RELWITHDEBINFO ${PYTHON_RELEASE_IMPLIB})
86+
set_property(TARGET python3 PROPERTY IMPORTED_LOCATION_MINSIZEREL ${PYTHON_RELEASE_LIB})
87+
set_property(TARGET python3 PROPERTY IMPORTED_IMPLIB_MINSIZEREL ${PYTHON_RELEASE_IMPLIB})
7988
elseif(LINUX)
80-
set_property(TARGET python3 PROPERTY IMPORTED_LOCATION_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/python3.12/linux/debug/bin/libpython3.12d.so.1.0")
81-
set_property(TARGET python3 PROPERTY IMPORTED_LOCATION_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/python3.12/linux/release/bin/libpython3.12.so.1.0")
89+
set(PYTHON_DEBUG_LIB "${CMAKE_CURRENT_SOURCE_DIR}/python3.12/linux/debug/bin/libpython3.12d.so.1.0")
90+
set(PYTHON_RELEASE_LIB "${CMAKE_CURRENT_SOURCE_DIR}/python3.12/linux/release/bin/libpython3.12.so.1.0")
91+
92+
set_property(TARGET python3 PROPERTY IMPORTED_LOCATION_DEBUG ${PYTHON_DEBUG_LIB})
93+
set_property(TARGET python3 PROPERTY IMPORTED_LOCATION_RELEASE ${PYTHON_RELEASE_LIB})
94+
set_property(TARGET python3 PROPERTY IMPORTED_LOCATION_RELWITHDEBINFO ${PYTHON_RELEASE_LIB})
95+
set_property(TARGET python3 PROPERTY IMPORTED_LOCATION_MINSIZEREL ${PYTHON_RELEASE_LIB})
8296
set_property(TARGET ${PROJECT_NAME} PROPERTY LINK_FLAGS "-Wl,-rpath,\\\$ORIGIN/../python3.12")
8397
endif()
8498
target_link_libraries(${PROJECT_NAME} PRIVATE python3)

CMakePresets.json

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,40 @@
11
{
2-
"version": 3,
3-
"cmakeMinimumRequired": {
4-
"major": 3,
5-
"minor": 14,
6-
"patch": 0
7-
},
8-
"configurePresets": [
9-
{
10-
"name": "default",
11-
"displayName": "Default Config",
12-
"description": "Default build using Ninja generator",
13-
"generator": "Ninja",
14-
"binaryDir": "${sourceDir}/build/${hostSystemName}/${presetName}",
15-
"hidden": true
16-
},
17-
{
18-
"name": "Debug",
19-
"displayName": "Debug",
20-
"inherits": "default",
21-
"cacheVariables": { "CMAKE_BUILD_TYPE": "Debug" }
22-
},
23-
{
24-
"name": "Release",
25-
"displayName": "Release",
26-
"inherits": "default",
27-
"cacheVariables": { "CMAKE_BUILD_TYPE": "Release" }
28-
}
29-
],
30-
"buildPresets": [
31-
{
32-
"name": "Debug",
33-
"configurePreset": "Debug"
34-
},
35-
{
36-
"name": "Release",
37-
"configurePreset": "Release"
38-
}
39-
]
40-
}
2+
"version": 3,
3+
"cmakeMinimumRequired": {
4+
"major": 3,
5+
"minor": 14,
6+
"patch": 0
7+
},
8+
"configurePresets": [
9+
{
10+
"name": "default",
11+
"displayName": "Default Config",
12+
"description": "Default build using Ninja generator",
13+
"generator": "Ninja",
14+
"binaryDir": "${sourceDir}/build/${hostSystemName}/${presetName}",
15+
"hidden": true
16+
},
17+
{
18+
"name": "Debug",
19+
"displayName": "Debug",
20+
"inherits": "default",
21+
"cacheVariables": { "CMAKE_BUILD_TYPE": "Debug" }
22+
},
23+
{
24+
"name": "Release",
25+
"displayName": "Release",
26+
"inherits": "default",
27+
"cacheVariables": { "CMAKE_BUILD_TYPE": "RelWithDebInfo" }
28+
}
29+
],
30+
"buildPresets": [
31+
{
32+
"name": "Debug",
33+
"configurePreset": "Debug"
34+
},
35+
{
36+
"name": "Release",
37+
"configurePreset": "Release"
38+
}
39+
]
40+
}

0 commit comments

Comments
 (0)