]> Creatis software - cpPlugins.git/blobdiff - cmake/Functions.cmake
...
[cpPlugins.git] / cmake / Functions.cmake
index 01bd59873e40b33e8315640e78d3862f5398e03d..9beaaae0944581c1a8bc4545f0952b9ff207e709 100644 (file)
@@ -193,6 +193,13 @@ IF(_srcs)
     EXPORT_FILE_NAME ${lib_name}_Export.h
     STATIC_DEFINE ${lib_name}_BUILT_AS_STATIC
     )
+  IF(${prj_NAME}_All_Headers)
+    SET(_hdr_tmp "${${prj_NAME}_All_Headers};${_hdrs}")
+  ELSE(${prj_NAME}_All_Headers)
+    SET(_hdr_tmp "${_hdrs}")
+  ENDIF(${prj_NAME}_All_Headers)
+  LIST(REMOVE_DUPLICATES _hdr_tmp)
+  SET(${prj_NAME}_All_Headers ${_hdr_tmp} CACHE INTERNAL "All headers." FORCE)
 ENDIF(_srcs)
 ENDFUNCTION()
 
@@ -316,22 +323,25 @@ FUNCTION(
   app_name
   app_dir
   )
-FILE(GLOB_RECURSE _files "${app_dir}/*")
-PrepareSourceFiles(_srcs _hdrs _paths ${_files} ${ARGN})
-INCLUDE_DIRECTORIES(
-  ${_paths}
-  ${CMAKE_CURRENT_SOURCE_DIR}
-  ${CMAKE_CURRENT_BINARY_DIR}
-  )
-IF(_srcs)
-  SET(_app_os_target)
-  IF(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
-    SET(_app_os_target WIN32)
-  ELSEIF(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
-    SET(_app_os_target MACOSX_BUNDLE)
-  ENDIF(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
-  ADD_EXECUTABLE(${app_name} ${_app_os_target} ${_srcs} ${_hdrs})
-ENDIF(_srcs)
+OPTION(BUILD_${app_name} "Build ${app_name}" OFF)
+IF(BUILD_${app_name})
+  FILE(GLOB_RECURSE _files "${app_dir}/*")
+  PrepareSourceFiles(_srcs _hdrs _paths ${_files} ${ARGN})
+  INCLUDE_DIRECTORIES(
+    ${_paths}
+    ${CMAKE_CURRENT_SOURCE_DIR}
+    ${CMAKE_CURRENT_BINARY_DIR}
+    )
+  IF(_srcs)
+    SET(_app_os_target)
+    IF(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
+      SET(_app_os_target WIN32)
+      ELSEIF(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
+      SET(_app_os_target MACOSX_BUNDLE)
+    ENDIF(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
+    ADD_EXECUTABLE(${app_name} ${_app_os_target} ${_srcs} ${_hdrs})
+  ENDIF(_srcs)
+ENDIF(BUILD_${app_name})
 ENDFUNCTION()
 
 ## eof - $RCSfile$