]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Bugfix: PARENT_SCOPE is way to buggy for this hack
authormaier <maier@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 24 Sep 2012 22:15:37 +0000 (22:15 +0000)
committermaier <maier@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 24 Sep 2012 22:15:37 +0000 (22:15 +0000)
git-svn-id: https://svn.dealii.org/branches/branch_cmake@26693 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/cmake/macros/macro_deal_ii_add_c_library.cmake
deal.II/cmake/macros/macro_deal_ii_add_definitions.cmake
deal.II/cmake/macros/macro_deal_ii_add_dependencies.cmake
deal.II/cmake/macros/macro_deal_ii_add_library.cmake
deal.II/cmake/macros/macro_expand_instantiations.cmake
deal.II/source/CMakeLists.txt

index 613fc1c3eb5f6ea5fb4d69de187cb6799eb17fc4..410136406199341ace1c9ada8e57f200415aa12f 100644 (file)
@@ -3,48 +3,45 @@
 # TODO: A comment
 #
 
-MACRO(DEAL_II_ADD_C_LIBRARY name)
+MACRO(DEAL_II_ADD_C_LIBRARY library)
 
   IF(CMAKE_BUILD_TYPE MATCHES "Debug")
     #
     # and a debug target
     #
-    ADD_LIBRARY(${name}.g
+    ADD_LIBRARY(${library}_debug
       ${ARGN}
       )
 
-    SET_TARGET_PROPERTIES(${name}.g PROPERTIES
+    SET_TARGET_PROPERTIES(${library}_debug PROPERTIES
       LINK_FLAGS "${DEAL_II_SHARED_LINKER_FLAGS_DEBUG}"
       COMPILE_DEFINITIONS "${DEAL_II_DEFINITIONS};${DEAL_II_DEFINITIONS_DEBUG}"
       COMPILE_FLAGS "${DEAL_II_C_FLAGS_DEBUG}"
       )
 
-    SET(deal_ii_objects.g
-      ${deal_ii_objects.g}
-      $<TARGET_OBJECTS:${name}.g>
-      PARENT_SCOPE
+    FILE(APPEND
+      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/deal_ii_objects_debug
+      "$<TARGET_OBJECTS:${library}_debug>\n"
       )
-
   ENDIF()
 
   IF(CMAKE_BUILD_TYPE MATCHES "Release")
     #
     # Add a release target
     #
-    ADD_LIBRARY(${name}
+    ADD_LIBRARY(${library}
       ${ARGN}
       )
 
-    SET_TARGET_PROPERTIES(${name} PROPERTIES
+    SET_TARGET_PROPERTIES(${library} PROPERTIES
       LINK_FLAGS "${DEAL_II_SHARED_LINKER_FLAGS_RELEASE}"
       COMPILE_DEFINITIONS "${DEAL_II_DEFINITIONS};${DEAL_II_DEFINITIONS_RELEASE}"
       COMPILE_FLAGS "${DEAL_II_C_FLAGS_RELEASE}"
       )
 
-    SET(deal_ii_objects
-      ${deal_ii_objects}
-      $<TARGET_OBJECTS:${name}>
-      PARENT_SCOPE
+    FILE(APPEND
+      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/deal_ii_objects
+      "$<TARGET_OBJECTS:${library}>\n"
       )
   ENDIF()
 
index d01210b5ebca8ebf5d6a4761a28971d33d34da74..2320ff75f678eba48a391cca7ddd668455b40226 100644 (file)
@@ -6,8 +6,8 @@
 MACRO(DEAL_II_ADD_DEFINITIONS name)
 
   IF(CMAKE_BUILD_TYPE MATCHES "Debug")
-    GET_TARGET_PROPERTY(macro_definitions ${name}.g COMPILE_DEFINITIONS)
-    SET_TARGET_PROPERTIES(${name}.g PROPERTIES
+    GET_TARGET_PROPERTY(macro_definitions ${name}_debug COMPILE_DEFINITIONS)
+    SET_TARGET_PROPERTIES(${name}_debug PROPERTIES
       COMPILE_DEFINITIONS "${ARGN};${macro_definitions}"
       )
   ENDIF()
index d527cb52241a33edc196ecfa8bdd6494ab33e6e5..e118017ef830c0cad72262daa51a2bb6edf273ea 100644 (file)
@@ -6,7 +6,7 @@
 MACRO(DEAL_II_ADD_DEPENDENCIES name target)
 
   IF(CMAKE_BUILD_TYPE MATCHES "Debug")
-    ADD_DEPENDENCIES(${name}.g ${target}.g)
+    ADD_DEPENDENCIES(${name}_debug ${target}_debug)
   ENDIF()
 
   IF(CMAKE_BUILD_TYPE MATCHES "Release")
index 919bbd8e7db937e89e83fbc21a5c7c1ad88057d3..8cf6c4dd462075657113490ca13863673ecb4ff1 100644 (file)
@@ -3,48 +3,45 @@
 # TODO: A comment
 #
 
-MACRO(DEAL_II_ADD_LIBRARY name)
+MACRO(DEAL_II_ADD_LIBRARY library)
 
   IF(CMAKE_BUILD_TYPE MATCHES "Debug")
     #
     # and a debug target
     #
-    ADD_LIBRARY(${name}.g
+    ADD_LIBRARY(${library}_debug
       ${ARGN}
       )
 
-    SET_TARGET_PROPERTIES(${name}.g PROPERTIES
+    SET_TARGET_PROPERTIES(${library}_debug PROPERTIES
       LINK_FLAGS "${DEAL_II_SHARED_LINKER_FLAGS_DEBUG}"
       COMPILE_DEFINITIONS "${DEAL_II_DEFINITIONS};${DEAL_II_DEFINITIONS_DEBUG}"
       COMPILE_FLAGS "${DEAL_II_CXX_FLAGS_DEBUG}"
       )
 
-    SET(deal_ii_objects.g
-      ${deal_ii_objects.g}
-      $<TARGET_OBJECTS:${name}.g>
-      PARENT_SCOPE
+    FILE(APPEND
+      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/deal_ii_objects_debug
+      "$<TARGET_OBJECTS:${library}_debug>\n"
       )
-
   ENDIF()
 
   IF(CMAKE_BUILD_TYPE MATCHES "Release")
     #
     # Add a release target
     #
-    ADD_LIBRARY(${name}
+    ADD_LIBRARY(${library}
       ${ARGN}
       )
 
-    SET_TARGET_PROPERTIES(${name} PROPERTIES
+    SET_TARGET_PROPERTIES(${library} PROPERTIES
       LINK_FLAGS "${DEAL_II_SHARED_LINKER_FLAGS_RELEASE}"
       COMPILE_DEFINITIONS "${DEAL_II_DEFINITIONS};${DEAL_II_DEFINITIONS_RELEASE}"
       COMPILE_FLAGS "${DEAL_II_CXX_FLAGS_RELEASE}"
       )
 
-    SET(deal_ii_objects
-      ${deal_ii_objects}
-      $<TARGET_OBJECTS:${name}>
-      PARENT_SCOPE
+    FILE(APPEND
+      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/deal_ii_objects
+      "$<TARGET_OBJECTS:${library}>\n"
       )
   ENDIF()
 
index 3b1bcd91e0449f457cf855b8d7d016ed80b61df7..7305d33d6aafd651de356ad1931e1921b3bac445 100644 (file)
@@ -44,7 +44,7 @@ MACRO(EXPAND_INSTANTIATIONS target inst_in_files)
   # before target will be processed.
   #
   IF(CMAKE_BUILD_TYPE MATCHES "Debug")
-    ADD_DEPENDENCIES(${target}.g ${target}.inst)
+    ADD_DEPENDENCIES(${target}_debug ${target}.inst)
   ENDIF()
   IF(CMAKE_BUILD_TYPE MATCHES "Release")
     ADD_DEPENDENCIES(${target} ${target}.inst)
index 66d6d7aff90561caabcd97c9aa57090597cfa194..adc1c17e3fa3aba4531d7033b0fbea68217c044e 100644 (file)
@@ -22,8 +22,12 @@ IF(CMAKE_BUILD_TYPE MATCHES "Debug")
   #
   # Combine all debug OBJECT targets to a debug library:
   #
+  FILE(STRINGS
+    ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/deal_ii_objects_debug
+    deal_ii_objects_debug
+    )
   ADD_LIBRARY(${DEAL_II_BASE_NAME}${DEAL_II_DEBUG_SUFFIX}
-    ${deal_ii_objects.g}
+    ${deal_ii_objects_debug}
     )
 
   SET_TARGET_PROPERTIES(${DEAL_II_BASE_NAME}${DEAL_II_DEBUG_SUFFIX}
@@ -59,6 +63,10 @@ IF(CMAKE_BUILD_TYPE MATCHES "Release")
   #
   # Combine all release OBJECT targets to a release library:
   #
+  FILE(STRINGS
+    ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/deal_ii_objects
+    deal_ii_objects
+    )
   ADD_LIBRARY(${DEAL_II_BASE_NAME}
     ${deal_ii_objects}
     )
@@ -90,3 +98,4 @@ IF(CMAKE_BUILD_TYPE MATCHES "Release")
 
 ENDIF()
 
+MESSAGE("${deal_ii_objects_debug}")

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.