CMake build on Mac OS: r10688 was not a good move because it works with

the makefiles generator but not with the Xcode generator. Stepping back one commit.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10689 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Manolo Gouy 2015-04-08 12:16:52 +00:00
parent 4b5b11a1cb
commit 3ec8bab10e
2 changed files with 21 additions and 16 deletions

View File

@ -103,17 +103,22 @@ macro(CREATE_EXAMPLE NAME SOURCES LIBRARIES)
endif(flsrcs) endif(flsrcs)
if(APPLE) if(APPLE)
unset(ICON_NAME) unset(RESOURCE_PATH)
if(${tname} STREQUAL "blocks" OR ${tname} STREQUAL "checkers" OR ${tname} STREQUAL "sudoku") if(${tname} STREQUAL "blocks" OR ${tname} STREQUAL "checkers" OR ${tname} STREQUAL "sudoku")
set( ICON_NAME ${tname}.icns ) set( ICON_NAME ${tname}.icns )
set( RESOURCE_PATH "${PROJECT_SOURCE_DIR}/test/${tname}.app/Contents/Resources/${ICON_NAME}" )
elseif(${tname} STREQUAL "demo")
set( RESOURCE_PATH "${PROJECT_SOURCE_DIR}/test/demo.menu" )
endif(${tname} STREQUAL "blocks" OR ${tname} STREQUAL "checkers" OR ${tname} STREQUAL "sudoku") endif(${tname} STREQUAL "blocks" OR ${tname} STREQUAL "checkers" OR ${tname} STREQUAL "sudoku")
add_executable(${tname} MACOSX_BUNDLE ${srcs} ${${tname}_FLTK_UI_SRCS})
if(DEFINED ICON_NAME) if(DEFINED RESOURCE_PATH)
set_target_properties(${tname} PROPERTIES MACOSX_BUNDLE_ICON_FILE ${ICON_NAME}) add_executable(${tname} MACOSX_BUNDLE ${srcs} ${RESOURCE_PATH})
endif(DEFINED ICON_NAME) if(${tname} STREQUAL "demo")
if(${tname} STREQUAL "demo") target_compile_definitions(demo PUBLIC USING_XCODE)
target_compile_definitions(demo PUBLIC USING_XCODE) endif(${tname} STREQUAL "demo")
endif(${tname} STREQUAL "demo") else()
add_executable(${tname} MACOSX_BUNDLE ${srcs} ${${tname}_FLTK_UI_SRCS})
endif(DEFINED RESOURCE_PATH)
else() else()
add_executable(${tname} WIN32 ${srcs} ${${tname}_FLTK_UI_SRCS}) add_executable(${tname} WIN32 ${srcs} ${${tname}_FLTK_UI_SRCS})
endif(APPLE) endif(APPLE)
@ -121,6 +126,13 @@ macro(CREATE_EXAMPLE NAME SOURCES LIBRARIES)
set_target_properties(${tname} set_target_properties(${tname}
PROPERTIES OUTPUT_NAME ${oname} PROPERTIES OUTPUT_NAME ${oname}
) )
if(APPLE AND DEFINED RESOURCE_PATH)
if(NOT ${tname} STREQUAL "demo")
set_target_properties(${tname} PROPERTIES MACOSX_BUNDLE_ICON_FILE ${ICON_NAME})
endif(NOT ${tname} STREQUAL "demo")
set_target_properties(${tname} PROPERTIES RESOURCE ${RESOURCE_PATH})
endif(APPLE AND DEFINED RESOURCE_PATH)
target_link_libraries(${tname} ${LIBRARIES}) target_link_libraries(${tname} ${LIBRARIES})

View File

@ -110,14 +110,7 @@ endif(FLTK_HAVE_CAIRO)
# - maybe more ... # - maybe more ...
# use a target filename to make sure the target directory gets created # use a target filename to make sure the target directory gets created
if(APPLE) #copy files to bundle resources configure_file(demo.menu ${EXECUTABLE_OUTPUT_PATH}/demo.menu COPYONLY)
configure_file(demo.menu ${EXECUTABLE_OUTPUT_PATH}/demo.app/Contents/Resources/demo.menu COPYONLY)
configure_file(blocks.app/Contents/Resources/blocks.icns ${EXECUTABLE_OUTPUT_PATH}/blocks.app/Contents/Resources/blocks.icns COPYONLY)
configure_file(checkers.app/Contents/Resources/checkers.icns ${EXECUTABLE_OUTPUT_PATH}/checkers.app/Contents/Resources/checkers.icns COPYONLY)
configure_file(sudoku.app/Contents/Resources/sudoku.icns ${EXECUTABLE_OUTPUT_PATH}/sudoku.app/Contents/Resources/sudoku.icns COPYONLY)
else()
configure_file(demo.menu ${EXECUTABLE_OUTPUT_PATH}/demo.menu COPYONLY)
endif(APPLE)
# use target directory only to avoid redundancy # use target directory only to avoid redundancy
configure_file(rgb.txt ${EXECUTABLE_OUTPUT_PATH} COPYONLY) configure_file(rgb.txt ${EXECUTABLE_OUTPUT_PATH} COPYONLY)