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:
Robert Osfield
2007-04-12 09:33:24 +00:00
parent 0d4dd3da8e
commit 2187b061fc
3 changed files with 26 additions and 6 deletions

View File

@@ -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 )

View File

@@ -3,4 +3,5 @@
SET(TARGET_SRC osgversion.cpp )
#### end var setup ###
SETUP_APPLICATION(osgversion)
# The YES denotes commandline app
SETUP_APPLICATION(osgversion 1)

View File

@@ -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)