diff --git a/CMakeModules/OsgMacroUtils.cmake b/CMakeModules/OsgMacroUtils.cmake index 7fd7e33e5..f8181c839 100644 --- a/CMakeModules/OsgMacroUtils.cmake +++ b/CMakeModules/OsgMacroUtils.cmake @@ -137,7 +137,7 @@ ENDMACRO(SETUP_PLUGIN) # this is the macro for example and application setup ########################################################### -MACRO(SETUP_EXE) +MACRO(SETUP_EXE IS_COMMANDLINE_APP) #MESSAGE("in -->SETUP_EXE<-- ${TARGET_NAME}-->${TARGET_SRC} <--> ${TARGET_H}<--") IF(NOT TARGET_TARGETNAME) SET(TARGET_TARGETNAME "${TARGET_DEFAULT_PREFIX}${TARGET_NAME}") @@ -146,7 +146,11 @@ MACRO(SETUP_EXE) SET(TARGET_LABEL "${TARGET_DEFAULT_LABEL_PREFIX} ${TARGET_NAME}") ENDIF(NOT TARGET_LABEL) - ADD_EXECUTABLE(${TARGET_TARGETNAME} ${TARGET_SRC} ${TARGET_H}) + IF(${IS_COMMANDLINE_APP}) + ADD_EXECUTABLE(${TARGET_TARGETNAME} ${TARGET_SRC} ${TARGET_H}) + ELSE(${IS_COMMANDLINE_APP}) + ADD_EXECUTABLE(${TARGET_TARGETNAME} MACOSX_BUNDLE ${TARGET_SRC} ${TARGET_H}) + ENDIF(${IS_COMMANDLINE_APP}) SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES PROJECT_LABEL "${TARGET_LABEL}") SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES OUTPUT_NAME ${TARGET_NAME}) @@ -155,22 +159,36 @@ MACRO(SETUP_EXE) ENDMACRO(SETUP_EXE) +# Takes optional second argument (is_commandline_app?) in ARGV1 MACRO(SETUP_APPLICATION APPLICATION_NAME) SET(TARGET_NAME ${APPLICATION_NAME} ) - SETUP_EXE() + IF(${ARGC} GREATER 1) + SET(IS_COMMANDLINE_APP ${ARGV1}) + ELSE(${ARGC} GREATER 1) + SET(IS_COMMANDLINE_APP 0) + ENDIF(${ARGC} GREATER 1) + + SETUP_EXE(${IS_COMMANDLINE_APP}) INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION bin ) ENDMACRO(SETUP_APPLICATION) +# Takes optional second argument (is_commandline_app?) in ARGV1 MACRO(SETUP_EXAMPLE EXAMPLE_NAME) SET(TARGET_NAME ${EXAMPLE_NAME} ) - SETUP_EXE() + IF(${ARGC} GREATER 1) + SET(IS_COMMANDLINE_APP ${ARGV1}) + ELSE(${ARGC} GREATER 1) + SET(IS_COMMANDLINE_APP 0) + ENDIF(${ARGC} GREATER 1) + + SETUP_EXE(${IS_COMMANDLINE_APP}) INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION share/OpenSceneGraph/bin ) diff --git a/applications/osgversion/CMakeLists.txt b/applications/osgversion/CMakeLists.txt index d47fddf97..1f52183fd 100644 --- a/applications/osgversion/CMakeLists.txt +++ b/applications/osgversion/CMakeLists.txt @@ -3,4 +3,5 @@ SET(TARGET_SRC osgversion.cpp ) #### end var setup ### -SETUP_APPLICATION(osgversion) +# The YES denotes commandline app +SETUP_APPLICATION(osgversion 1) diff --git a/examples/osgunittests/CMakeLists.txt b/examples/osgunittests/CMakeLists.txt index c0020ddf4..058668245 100644 --- a/examples/osgunittests/CMakeLists.txt +++ b/examples/osgunittests/CMakeLists.txt @@ -4,4 +4,5 @@ SET(TARGET_SRC UnitTestFramework.cpp UnitTests_osg.cpp osgunittests.cpp performance.cpp ) SET(TARGET_H UnitTestFramework.h performance.h ) #### end var setup ### -SETUP_EXAMPLE(osgunittests) +# The 1 denotes commandline app (for TRUE) +SETUP_EXAMPLE(osgunittests 1)