Fossil SCM
Fix PDB file handling; should apply only for Debug build.
Commit
b7430ba100f68f92a876ed79e47a8d79b925c7227633e0654eddec75e0e35343
Parent
b6a0c0015d2f3bf…
1 file changed
+12
-6
+12
-6
| --- CMakeLists.txt | ||
| +++ CMakeLists.txt | ||
| @@ -17,10 +17,14 @@ | ||
| 17 | 17 | "Debug" "Release" "MinSizeRel" "RelWithDebInfo") |
| 18 | 18 | else() |
| 19 | 19 | message(STATUS "'${CMAKE_BUILD_TYPE}' build type") |
| 20 | 20 | endif() |
| 21 | 21 | |
| 22 | +set(isDebugBuild FALSE) | |
| 23 | +if(CMAKE_BUILD_TYPE MATCHES "[Dd][Ee][Bb][Uu][Gg]" ) | |
| 24 | + set(isDebugBuild TRUE) | |
| 25 | +endif() | |
| 22 | 26 | |
| 23 | 27 | ## VARIABLES --------------------------------------------------------------- |
| 24 | 28 | ## Additional parameters can be passed in the following variables which can |
| 25 | 29 | ## be defined on cmake command line (or in cache). |
| 26 | 30 | ## |
| @@ -107,11 +111,11 @@ | ||
| 107 | 111 | ## |
| 108 | 112 | set(fossil_configure_FLAGS "") |
| 109 | 113 | if(configure_FLAGS) |
| 110 | 114 | set(fossil_configure_FLAGS ${configure_FLAGS}) |
| 111 | 115 | endif() |
| 112 | -if(CMAKE_BUILD_TYPE STREQUAL "Debug") | |
| 116 | +if(isDebugBuild) | |
| 113 | 117 | if(MSVC) |
| 114 | 118 | if(NOT "${fossil_configure_FLAGS}" MATCHES "FOSSIL_DEBUG") |
| 115 | 119 | set(fossil_configure_FLAGS "FOSSIL_DEBUG=1" ${fossil_configure_FLAGS}) |
| 116 | 120 | endif() |
| 117 | 121 | else(MSVC) |
| @@ -209,22 +213,24 @@ | ||
| 209 | 213 | |
| 210 | 214 | set_target_properties(app PROPERTIES |
| 211 | 215 | OUTPUT_NAME "${app_NAME}" |
| 212 | 216 | RUNTIME_OUTPUT_DIRECTORY "${app_DIR}" |
| 213 | 217 | ) |
| 214 | -if(MSVC) | |
| 218 | +set_target_properties(app PROPERTIES | |
| 219 | + LINK_FLAGS "/INCREMENTAL:NO /MANIFEST:NO" | |
| 220 | +) | |
| 221 | +if(MSVC AND isDebugBuild) | |
| 215 | 222 | set_target_properties(app PROPERTIES |
| 216 | 223 | PDB_NAME "${app_NAME}" |
| 217 | - LINK_FLAGS "/INCREMENTAL:NO /MANIFEST:NO" | |
| 218 | 224 | ) |
| 219 | 225 | endif() |
| 220 | 226 | add_custom_command(TARGET app PRE_LINK |
| 221 | 227 | COMMAND "${CMAKE_COMMAND}" -E chdir "$<TARGET_FILE_DIR:app>" |
| 222 | 228 | "${CMAKE_COMMAND}" -E rename "$<TARGET_FILE_NAME:app>" |
| 223 | 229 | "$<TARGET_FILE_NAME:app>-imported" |
| 224 | 230 | ) |
| 225 | -if(MSVC) | |
| 231 | +if(MSVC AND isDebugBuild) | |
| 226 | 232 | add_custom_command(TARGET app PRE_LINK |
| 227 | 233 | COMMAND "${CMAKE_COMMAND}" -E chdir "$<TARGET_FILE_DIR:app>" |
| 228 | 234 | "${CMAKE_COMMAND}" -E rename "$<TARGET_PROPERTY:app,PDB_NAME>.pdb" |
| 229 | 235 | "$<TARGET_PROPERTY:app,PDB_NAME>.pdb-imported" |
| 230 | 236 | ) |
| @@ -234,17 +240,17 @@ | ||
| 234 | 240 | "${CMAKE_COMMAND}" -E remove "$<TARGET_FILE_NAME:app>" |
| 235 | 241 | COMMAND "${CMAKE_COMMAND}" -E chdir "$<TARGET_FILE_DIR:app>" |
| 236 | 242 | "${CMAKE_COMMAND}" -E rename "$<TARGET_FILE_NAME:app>-imported" |
| 237 | 243 | "$<TARGET_FILE_NAME:app>" |
| 238 | 244 | ) |
| 239 | -if(MSVC) | |
| 245 | +if(MSVC AND isDebugBuild) | |
| 240 | 246 | add_custom_command(TARGET app POST_BUILD |
| 241 | 247 | COMMAND "${CMAKE_COMMAND}" -E chdir "$<TARGET_FILE_DIR:app>" |
| 242 | 248 | "${CMAKE_COMMAND}" -E rename "$<TARGET_PROPERTY:app,PDB_NAME>.pdb-imported" |
| 243 | 249 | "$<TARGET_PROPERTY:app,PDB_NAME>.pdb" |
| 244 | 250 | ) |
| 245 | -endif(MSVC) | |
| 251 | +endif() | |
| 246 | 252 | |
| 247 | 253 | add_dependencies(app fossil-exe) |
| 248 | 254 | |
| 249 | 255 | |
| 250 | 256 | ## TEST --------------------------------------------------------------- |
| 251 | 257 |
| --- CMakeLists.txt | |
| +++ CMakeLists.txt | |
| @@ -17,10 +17,14 @@ | |
| 17 | "Debug" "Release" "MinSizeRel" "RelWithDebInfo") |
| 18 | else() |
| 19 | message(STATUS "'${CMAKE_BUILD_TYPE}' build type") |
| 20 | endif() |
| 21 | |
| 22 | |
| 23 | ## VARIABLES --------------------------------------------------------------- |
| 24 | ## Additional parameters can be passed in the following variables which can |
| 25 | ## be defined on cmake command line (or in cache). |
| 26 | ## |
| @@ -107,11 +111,11 @@ | |
| 107 | ## |
| 108 | set(fossil_configure_FLAGS "") |
| 109 | if(configure_FLAGS) |
| 110 | set(fossil_configure_FLAGS ${configure_FLAGS}) |
| 111 | endif() |
| 112 | if(CMAKE_BUILD_TYPE STREQUAL "Debug") |
| 113 | if(MSVC) |
| 114 | if(NOT "${fossil_configure_FLAGS}" MATCHES "FOSSIL_DEBUG") |
| 115 | set(fossil_configure_FLAGS "FOSSIL_DEBUG=1" ${fossil_configure_FLAGS}) |
| 116 | endif() |
| 117 | else(MSVC) |
| @@ -209,22 +213,24 @@ | |
| 209 | |
| 210 | set_target_properties(app PROPERTIES |
| 211 | OUTPUT_NAME "${app_NAME}" |
| 212 | RUNTIME_OUTPUT_DIRECTORY "${app_DIR}" |
| 213 | ) |
| 214 | if(MSVC) |
| 215 | set_target_properties(app PROPERTIES |
| 216 | PDB_NAME "${app_NAME}" |
| 217 | LINK_FLAGS "/INCREMENTAL:NO /MANIFEST:NO" |
| 218 | ) |
| 219 | endif() |
| 220 | add_custom_command(TARGET app PRE_LINK |
| 221 | COMMAND "${CMAKE_COMMAND}" -E chdir "$<TARGET_FILE_DIR:app>" |
| 222 | "${CMAKE_COMMAND}" -E rename "$<TARGET_FILE_NAME:app>" |
| 223 | "$<TARGET_FILE_NAME:app>-imported" |
| 224 | ) |
| 225 | if(MSVC) |
| 226 | add_custom_command(TARGET app PRE_LINK |
| 227 | COMMAND "${CMAKE_COMMAND}" -E chdir "$<TARGET_FILE_DIR:app>" |
| 228 | "${CMAKE_COMMAND}" -E rename "$<TARGET_PROPERTY:app,PDB_NAME>.pdb" |
| 229 | "$<TARGET_PROPERTY:app,PDB_NAME>.pdb-imported" |
| 230 | ) |
| @@ -234,17 +240,17 @@ | |
| 234 | "${CMAKE_COMMAND}" -E remove "$<TARGET_FILE_NAME:app>" |
| 235 | COMMAND "${CMAKE_COMMAND}" -E chdir "$<TARGET_FILE_DIR:app>" |
| 236 | "${CMAKE_COMMAND}" -E rename "$<TARGET_FILE_NAME:app>-imported" |
| 237 | "$<TARGET_FILE_NAME:app>" |
| 238 | ) |
| 239 | if(MSVC) |
| 240 | add_custom_command(TARGET app POST_BUILD |
| 241 | COMMAND "${CMAKE_COMMAND}" -E chdir "$<TARGET_FILE_DIR:app>" |
| 242 | "${CMAKE_COMMAND}" -E rename "$<TARGET_PROPERTY:app,PDB_NAME>.pdb-imported" |
| 243 | "$<TARGET_PROPERTY:app,PDB_NAME>.pdb" |
| 244 | ) |
| 245 | endif(MSVC) |
| 246 | |
| 247 | add_dependencies(app fossil-exe) |
| 248 | |
| 249 | |
| 250 | ## TEST --------------------------------------------------------------- |
| 251 |
| --- CMakeLists.txt | |
| +++ CMakeLists.txt | |
| @@ -17,10 +17,14 @@ | |
| 17 | "Debug" "Release" "MinSizeRel" "RelWithDebInfo") |
| 18 | else() |
| 19 | message(STATUS "'${CMAKE_BUILD_TYPE}' build type") |
| 20 | endif() |
| 21 | |
| 22 | set(isDebugBuild FALSE) |
| 23 | if(CMAKE_BUILD_TYPE MATCHES "[Dd][Ee][Bb][Uu][Gg]" ) |
| 24 | set(isDebugBuild TRUE) |
| 25 | endif() |
| 26 | |
| 27 | ## VARIABLES --------------------------------------------------------------- |
| 28 | ## Additional parameters can be passed in the following variables which can |
| 29 | ## be defined on cmake command line (or in cache). |
| 30 | ## |
| @@ -107,11 +111,11 @@ | |
| 111 | ## |
| 112 | set(fossil_configure_FLAGS "") |
| 113 | if(configure_FLAGS) |
| 114 | set(fossil_configure_FLAGS ${configure_FLAGS}) |
| 115 | endif() |
| 116 | if(isDebugBuild) |
| 117 | if(MSVC) |
| 118 | if(NOT "${fossil_configure_FLAGS}" MATCHES "FOSSIL_DEBUG") |
| 119 | set(fossil_configure_FLAGS "FOSSIL_DEBUG=1" ${fossil_configure_FLAGS}) |
| 120 | endif() |
| 121 | else(MSVC) |
| @@ -209,22 +213,24 @@ | |
| 213 | |
| 214 | set_target_properties(app PROPERTIES |
| 215 | OUTPUT_NAME "${app_NAME}" |
| 216 | RUNTIME_OUTPUT_DIRECTORY "${app_DIR}" |
| 217 | ) |
| 218 | set_target_properties(app PROPERTIES |
| 219 | LINK_FLAGS "/INCREMENTAL:NO /MANIFEST:NO" |
| 220 | ) |
| 221 | if(MSVC AND isDebugBuild) |
| 222 | set_target_properties(app PROPERTIES |
| 223 | PDB_NAME "${app_NAME}" |
| 224 | ) |
| 225 | endif() |
| 226 | add_custom_command(TARGET app PRE_LINK |
| 227 | COMMAND "${CMAKE_COMMAND}" -E chdir "$<TARGET_FILE_DIR:app>" |
| 228 | "${CMAKE_COMMAND}" -E rename "$<TARGET_FILE_NAME:app>" |
| 229 | "$<TARGET_FILE_NAME:app>-imported" |
| 230 | ) |
| 231 | if(MSVC AND isDebugBuild) |
| 232 | add_custom_command(TARGET app PRE_LINK |
| 233 | COMMAND "${CMAKE_COMMAND}" -E chdir "$<TARGET_FILE_DIR:app>" |
| 234 | "${CMAKE_COMMAND}" -E rename "$<TARGET_PROPERTY:app,PDB_NAME>.pdb" |
| 235 | "$<TARGET_PROPERTY:app,PDB_NAME>.pdb-imported" |
| 236 | ) |
| @@ -234,17 +240,17 @@ | |
| 240 | "${CMAKE_COMMAND}" -E remove "$<TARGET_FILE_NAME:app>" |
| 241 | COMMAND "${CMAKE_COMMAND}" -E chdir "$<TARGET_FILE_DIR:app>" |
| 242 | "${CMAKE_COMMAND}" -E rename "$<TARGET_FILE_NAME:app>-imported" |
| 243 | "$<TARGET_FILE_NAME:app>" |
| 244 | ) |
| 245 | if(MSVC AND isDebugBuild) |
| 246 | add_custom_command(TARGET app POST_BUILD |
| 247 | COMMAND "${CMAKE_COMMAND}" -E chdir "$<TARGET_FILE_DIR:app>" |
| 248 | "${CMAKE_COMMAND}" -E rename "$<TARGET_PROPERTY:app,PDB_NAME>.pdb-imported" |
| 249 | "$<TARGET_PROPERTY:app,PDB_NAME>.pdb" |
| 250 | ) |
| 251 | endif() |
| 252 | |
| 253 | add_dependencies(app fossil-exe) |
| 254 | |
| 255 | |
| 256 | ## TEST --------------------------------------------------------------- |
| 257 |