## -------------------------------------------------------------------------
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)
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)
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}
)
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()
## -------------------------------------------------------------------------
ENDFUNCTION()
+## -------------------------------------------------------------------------
+FUNCTION(
+ CompileAppFromDir
+ app_name
+ app_dir
+ )
+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$