From Eric Wing,
"Attached is a patch allows access access to the CMake MACOSX_BUNDLE option. Now SETUP_APPLICATION and SETUP_EXAMPLE take an additional optional parameter that specifies if the program is a command line application or a GUI application (think: IS_COMMANDLINE_APP). Passing 1 means true (is_commandline_app). Passing 0 or omitting the parameter means false. I changed the scripts for osgversion and osgunittests to support this option because I believe they are command line apps. Are there any others?"
This commit is contained in:
@@ -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 )
|
||||
|
||||
|
||||
@@ -3,4 +3,5 @@
|
||||
|
||||
SET(TARGET_SRC osgversion.cpp )
|
||||
#### end var setup ###
|
||||
SETUP_APPLICATION(osgversion)
|
||||
# The YES denotes commandline app
|
||||
SETUP_APPLICATION(osgversion 1)
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user