-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)
+FUNCTION(cpPlugins_BuildApplication app_name)
+OPTION(BUILD_${app_name} "Build \"${app_name}\" application?" OFF)
+IF(BUILD_${app_name})
+ # -- Detect all source files
+ SET(_all_files)
+ FOREACH(_c ${ARGN})
+ GET_FILENAME_COMPONENT(_cname ${_c} ABSOLUTE)
+ SET(_files)
+ IF(IS_DIRECTORY ${_cname})
+ FILE(GLOB_RECURSE _files "${_cname}/*")
+ ELSE(IS_DIRECTORY ${_cname})
+ SET(_files ${_cname})
+ ENDIF(IS_DIRECTORY ${_cname})
+ LIST(APPEND _all_files ${_files})
+ ENDFOREACH(_c ${ARGN})
+
+ ## -- Prepare sources by types
+ PrepareSourceFiles(${app_name} _srcs _hdrs _paths ${_all_files})
+
+ ## -- Build library
+ IF(_srcs)
+ INCLUDE_DIRECTORIES(
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ )
+ 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})