diff --git a/CMakeLists.txt b/CMakeLists.txt index 1dd4f2c011..ae9fcbd15e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -124,8 +124,12 @@ endif() set(OPTIMIZATION_FLAGS "") -set(CMAKE_C_FLAGS "-g ${COMMON_FLAGS} ${OPTIMIZATION_FLAGS} -DNDEBUG -DDEBUGVM=0") -set(CMAKE_CXX_FLAGS "-g ${COMMON_FLAGS} ${OPTIMIZATION_FLAGS} -DNDEBUG -DDEBUGVM=0") +set(CMAKE_C_FLAGS "-g ${COMMON_FLAGS} ${OPTIMIZATION_FLAGS}") +set(CMAKE_CXX_FLAGS "-g ${COMMON_FLAGS} ${OPTIMIZATION_FLAGS}") + +if(NOT ${CONFIG} MATCHES "Debug") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DNDEBUG -DDEBUGVM=0") +endif() add_definitions(-DIMMUTABILITY=1) add_definitions(-DCOGMTVM=0) @@ -191,9 +195,10 @@ endif() set(VMMAKER_OUTPUT_PATH "build/vmmaker") make_directory(${VMMAKER_OUTPUT_PATH}) set(EXECUTABLE_OUTPUT_PATH "build/vm") - + #If in OSX, configure creation of Bundle if (OSX) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "build/vm/$") set(LIBRARY_OUTPUT_DIRECTORY "build/vm/$/Pharo.app/Contents/MacOS/Plugins") else() set(LIBRARY_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}) @@ -294,7 +299,7 @@ set(VM_SOURCES ${EXTRACTED_SOURCES} ) -add_executable(${VM_EXECUTABLE_NAME} ${VM_FRONTEND_APPLICATION_TYPE} ${VM_FRONTEND_SOURCES}) +add_executable(${VM_EXECUTABLE_NAME} MACOSX_BUNDLE ${VM_FRONTEND_APPLICATION_TYPE} ${VM_FRONTEND_SOURCES} "${CMAKE_CURRENT_SOURCE_DIR}/resources/mac/Pharo.icns") addLibraryWithRPATH(${VM_LIBRARY_NAME} ${VM_SOURCES}) #If in OSX, configure creation of Bundle @@ -308,9 +313,11 @@ if(OSX) set_target_properties( ${VM_EXECUTABLE_NAME} PROPERTIES - MACOSX_BUNDLE YES + MACOSX_BUNDLE TRUE MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/resources/mac/Info.plist.in" RESOURCE "${CMAKE_CURRENT_SOURCE_DIR}/resources/mac/Pharo.icns" + #Avoid code signing in XCode, otherwise everybody should have a developer account... + XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "" ) endif() diff --git a/macros.cmake b/macros.cmake index a6d78c2d40..b9bc247a7b 100644 --- a/macros.cmake +++ b/macros.cmake @@ -61,7 +61,7 @@ macro(add_third_party_dependency NAME TARGETPATH) add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/build/third-party/${NAME}.done" COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/${TARGETPATH} - COMMAND ${CMAKE_COMMAND} -E chdir ${CMAKE_CURRENT_BINARY_DIR}/build/third-party unzip -o "${NAME}.zip" -d ${CMAKE_CURRENT_BINARY_DIR}/${TARGETPATH} + COMMAND ${CMAKE_COMMAND} -E chdir ${CMAKE_CURRENT_BINARY_DIR}/build/third-party unzip -o "${NAME}.zip" -d "${CMAKE_CURRENT_BINARY_DIR}/${TARGETPATH}" COMMAND ${CMAKE_COMMAND} -E touch "${CMAKE_CURRENT_BINARY_DIR}/build/third-party/${NAME}.done" DEPENDS "build/third-party/${NAME}.zip" WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})