X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=appli%2Fbash%2FCMakeLists.txt;h=aa50398a4d02800c6f00516ecd210083218f9e55;hb=06ace6bbbd569c3ca466699d4adf3c293a2e2bb4;hp=116999cfb553bfa83474e81b2e425488f65a1af6;hpb=b23970017af98ef6617ddf40f225d4d15fa65854;p=cpPlugins.git diff --git a/appli/bash/CMakeLists.txt b/appli/bash/CMakeLists.txt index 116999c..aa50398 100644 --- a/appli/bash/CMakeLists.txt +++ b/appli/bash/CMakeLists.txt @@ -1,20 +1,59 @@ -## ========================= -## = Command line programs = -## ========================= +SET(_pfx "cpPlugins_bash_") +SET(_src_dir ${CMAKE_CURRENT_SOURCE_DIR}) +SET(_bin_dir ${CMAKE_CURRENT_BINARY_DIR}) -SET( - BASH_PROGRAMS - cpPlugins_createHost - ) +## ======================== +## == Build sources list == +## ======================== -FOREACH(prog ${BASH_PROGRAMS}) - ADD_EXECUTABLE(${prog} ${prog}.cxx) +FILE(GLOB _sources RELATIVE "${_src_dir}" "${_src_dir}/*.cxx") +FILE(GLOB _sources_cfg RELATIVE "${_src_dir}" "${_src_dir}/*.cxx.in") +FILE(GLOB _headers_cfg RELATIVE "${_src_dir}" "${_src_dir}/*.h.in") + +## ======================= +## == Configure sources == +## ======================= + +FOREACH(_cfg ${_headers_cfg}) + GET_FILENAME_COMPONENT(_ext ${_cfg} EXT) + STRING(LENGTH ${_ext} _ext_len) + STRING(SUBSTRING ${_ext} 1 ${_ext_len} _ext_name) + GET_FILENAME_COMPONENT(_real_ext ${_ext_name} NAME_WE) + GET_FILENAME_COMPONENT(_name ${_cfg} NAME_WE) + CONFIGURE_FILE( + ${_src_dir}/${_cfg} + ${_bin_dir}/${_name}.${_real_ext} @ONLY + ) +ENDFOREACH(_cfg) + +FOREACH(_cfg ${_sources_cfg}) + GET_FILENAME_COMPONENT(_ext ${_cfg} EXT) + STRING(LENGTH ${_ext} _ext_len) + STRING(SUBSTRING ${_ext} 1 ${_ext_len} _ext_name) + GET_FILENAME_COMPONENT(_real_ext ${_ext_name} NAME_WE) + GET_FILENAME_COMPONENT(_name ${_cfg} NAME_WE) + CONFIGURE_FILE( + ${_src_dir}/${_cfg} + ${_bin_dir}/${_name}.${_real_ext} @ONLY + ) + LIST(APPEND _sources ${_bin_dir}/${_name}.${_real_ext}) +ENDFOREACH(_cfg) + +## ========================== +## == Compile source files == +## ========================== + +FOREACH(_src ${_sources}) + GET_FILENAME_COMPONENT(_name ${_src} NAME_WE) + SET(_prog ${_pfx}${_name}) + ADD_EXECUTABLE(${_prog} ${_src}) INSTALL( - TARGETS ${prog} + TARGETS ${_prog} RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib/static ) -ENDFOREACH(prog) + SET(${_prog}_APP ${_prog} CACHE INTERNAL "bash program ${_prog}") +ENDFOREACH(_src) ## eof - $RCSfile$