X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=cmake%2FFunctions.cmake;h=01bd59873e40b33e8315640e78d3862f5398e03d;hb=db0a767418f78b371c1e4fb0db00e6b75df74ff3;hp=4da395c6ad91dfb57a8adb4df2d52c2910076fca;hpb=49d2d7db538d60008b9a5701ea8f26bb19997a82;p=cpPlugins.git diff --git a/cmake/Functions.cmake b/cmake/Functions.cmake index 4da395c..01bd598 100644 --- a/cmake/Functions.cmake +++ b/cmake/Functions.cmake @@ -59,13 +59,18 @@ ENDFUNCTION() ## ------------------------------------------------------------------------- FUNCTION( - CreateLib - lib_name - lib_type + PrepareSourceFiles + out_sources_list + out_headers_list + out_headers_paths ) +SET(_config_extensions .c.in .cpp.in .cxx.in .h.in .hpp.in .hxx.in .ui.in) +SET(_sources_extensions .c .cpp .cxx) +SET(_headers_extensions .h .hpp .hxx) +SET(_qt_ui_extensions .ui) +SET(_demangler_extensions .d) ## -- Configure inputs -SET(_config_extensions .c.in .cpp.in .cxx.in .h.in .hpp.in .hxx.in .ui.in) SET(_all_files) FOREACH(_file ${ARGN}) GET_FILENAME_COMPONENT(_ext ${_file} EXT) @@ -89,10 +94,6 @@ FOREACH(_file ${ARGN}) ENDFOREACH(_file) ## -- Separate files -SET(_sources_extensions .c .cpp .cxx) -SET(_headers_extensions .h .hpp .hxx) -SET(_qt_ui_extensions .ui) -SET(_demangler_extensions .d) SET(_srcs) SET(_hdrs) SET(_qts) @@ -164,8 +165,22 @@ FOREACH(_hdr ${_hdrs}) LIST(APPEND _hdrs_paths ${_path}) ENDIF(${_path_idx} EQUAL -1) ENDFOREACH(_hdr) + +SET(${out_sources_list} ${_srcs} PARENT_SCOPE) +SET(${out_headers_list} ${_hdrs} PARENT_SCOPE) +SET(${out_headers_paths} ${_hdrs_paths} PARENT_SCOPE) + +ENDFUNCTION() + +## ------------------------------------------------------------------------- +FUNCTION( + CreateLib + lib_name + lib_type + ) +PrepareSourceFiles(_srcs _hdrs _paths ${ARGN}) INCLUDE_DIRECTORIES( - ${_hdrs_paths} + ${_paths} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ) @@ -179,7 +194,6 @@ IF(_srcs) STATIC_DEFINE ${lib_name}_BUILT_AS_STATIC ) ENDIF(_srcs) - ENDFUNCTION() ## ------------------------------------------------------------------------- @@ -296,4 +310,28 @@ CreateLib(${lib_name} SHARED ${_files}) ENDFUNCTION() +## ------------------------------------------------------------------------- +FUNCTION( + CompileAppFromDir + 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) +ENDFUNCTION() + ## eof - $RCSfile$