Fossil SCM

Fix PDB file handling; should apply only for Debug build.

ashepilko 2018-08-04 10:47 cmake-ide
Commit b7430ba100f68f92a876ed79e47a8d79b925c7227633e0654eddec75e0e35343
1 file changed +12 -6
+12 -6
--- CMakeLists.txt
+++ CMakeLists.txt
@@ -17,10 +17,14 @@
1717
"Debug" "Release" "MinSizeRel" "RelWithDebInfo")
1818
else()
1919
message(STATUS "'${CMAKE_BUILD_TYPE}' build type")
2020
endif()
2121
22
+set(isDebugBuild FALSE)
23
+if(CMAKE_BUILD_TYPE MATCHES "[Dd][Ee][Bb][Uu][Gg]" )
24
+ set(isDebugBuild TRUE)
25
+endif()
2226
2327
## VARIABLES ---------------------------------------------------------------
2428
## Additional parameters can be passed in the following variables which can
2529
## be defined on cmake command line (or in cache).
2630
##
@@ -107,11 +111,11 @@
107111
##
108112
set(fossil_configure_FLAGS "")
109113
if(configure_FLAGS)
110114
set(fossil_configure_FLAGS ${configure_FLAGS})
111115
endif()
112
-if(CMAKE_BUILD_TYPE STREQUAL "Debug")
116
+if(isDebugBuild)
113117
if(MSVC)
114118
if(NOT "${fossil_configure_FLAGS}" MATCHES "FOSSIL_DEBUG")
115119
set(fossil_configure_FLAGS "FOSSIL_DEBUG=1" ${fossil_configure_FLAGS})
116120
endif()
117121
else(MSVC)
@@ -209,22 +213,24 @@
209213
210214
set_target_properties(app PROPERTIES
211215
OUTPUT_NAME "${app_NAME}"
212216
RUNTIME_OUTPUT_DIRECTORY "${app_DIR}"
213217
)
214
-if(MSVC)
218
+set_target_properties(app PROPERTIES
219
+ LINK_FLAGS "/INCREMENTAL:NO /MANIFEST:NO"
220
+)
221
+if(MSVC AND isDebugBuild)
215222
set_target_properties(app PROPERTIES
216223
PDB_NAME "${app_NAME}"
217
- LINK_FLAGS "/INCREMENTAL:NO /MANIFEST:NO"
218224
)
219225
endif()
220226
add_custom_command(TARGET app PRE_LINK
221227
COMMAND "${CMAKE_COMMAND}" -E chdir "$<TARGET_FILE_DIR:app>"
222228
"${CMAKE_COMMAND}" -E rename "$<TARGET_FILE_NAME:app>"
223229
"$<TARGET_FILE_NAME:app>-imported"
224230
)
225
-if(MSVC)
231
+if(MSVC AND isDebugBuild)
226232
add_custom_command(TARGET app PRE_LINK
227233
COMMAND "${CMAKE_COMMAND}" -E chdir "$<TARGET_FILE_DIR:app>"
228234
"${CMAKE_COMMAND}" -E rename "$<TARGET_PROPERTY:app,PDB_NAME>.pdb"
229235
"$<TARGET_PROPERTY:app,PDB_NAME>.pdb-imported"
230236
)
@@ -234,17 +240,17 @@
234240
"${CMAKE_COMMAND}" -E remove "$<TARGET_FILE_NAME:app>"
235241
COMMAND "${CMAKE_COMMAND}" -E chdir "$<TARGET_FILE_DIR:app>"
236242
"${CMAKE_COMMAND}" -E rename "$<TARGET_FILE_NAME:app>-imported"
237243
"$<TARGET_FILE_NAME:app>"
238244
)
239
-if(MSVC)
245
+if(MSVC AND isDebugBuild)
240246
add_custom_command(TARGET app POST_BUILD
241247
COMMAND "${CMAKE_COMMAND}" -E chdir "$<TARGET_FILE_DIR:app>"
242248
"${CMAKE_COMMAND}" -E rename "$<TARGET_PROPERTY:app,PDB_NAME>.pdb-imported"
243249
"$<TARGET_PROPERTY:app,PDB_NAME>.pdb"
244250
)
245
-endif(MSVC)
251
+endif()
246252
247253
add_dependencies(app fossil-exe)
248254
249255
250256
## TEST ---------------------------------------------------------------
251257
--- 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

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button