Skip to content

Commit

Permalink
precompiled header for mac
Browse files Browse the repository at this point in the history
  • Loading branch information
lasconic committed Mar 14, 2013
1 parent bdb01a0 commit 7825ff8
Show file tree
Hide file tree
Showing 14 changed files with 55 additions and 18 deletions.
1 change: 0 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,6 @@ add_custom_command(
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
)

set (PCH ${PROJECT_BINARY_DIR}/all.h.gch)
precompiled_header(QT_INCLUDES all)
ADD_CUSTOM_TARGET(mops1 DEPENDS ${PROJECT_BINARY_DIR}/all.h)
ADD_CUSTOM_TARGET(mops2 DEPENDS ${PCH})
Expand Down
4 changes: 3 additions & 1 deletion aeolus/aeolus/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,11 @@ add_library (aeolus STATIC
set_target_properties (
aeolus
PROPERTIES
COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -g -Wall -Wextra -Winvalid-pch"
COMPILE_FLAGS "${PCH_INCLUDE} -g -Wall -Wextra -Winvalid-pch"
)

xcode_pch(aeolus all)

ADD_DEPENDENCIES(aeolus mops1)
ADD_DEPENDENCIES(aeolus mops2)

4 changes: 3 additions & 1 deletion awl/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,11 @@ add_library (
set_target_properties (
awl
PROPERTIES
COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -g -Wall -Wextra -Winvalid-pch"
COMPILE_FLAGS "${PCH_INCLUDE} -g -Wall -Wextra -Winvalid-pch"
)

xcode_pch(awl all)

ADD_DEPENDENCIES(awl mops1)
ADD_DEPENDENCIES(awl mops2)

Expand Down
18 changes: 18 additions & 0 deletions build/CreatePrecompiledHeader.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,10 @@ macro( precompiled_header includes header_name )
# Prepare the compile flags var for passing to GCC
separate_arguments( compile_flags )

set (PCH ${PROJECT_BINARY_DIR}/${header_name}.h.gch)
set (PCH_HEADER "${PROJECT_BINARY_DIR}/${header_name}.h")
set (PCH_INCLUDE "-include ${PCH_HEADER}")

add_custom_command(
OUTPUT ${PROJECT_BINARY_DIR}/${header_name}.h.gch
COMMAND ${CMAKE_CXX_COMPILER}
Expand All @@ -38,4 +42,18 @@ macro( precompiled_header includes header_name )
VERBATIM
)
endif()
endmacro()

# Xcode PCH support. Has to be called *AFTER* the target is created.
# "header_name" - the name of the PCH header, without the extension; "all" or something similar;
# note that the source file compiling the header needs to have the same name
macro( xcode_pch target_name header_name )
if( APPLE )
set_target_properties(
${target_name}
PROPERTIES
XCODE_ATTRIBUTE_GCC_PREFIX_HEADER "${PROJECT_BINARY_DIR}/${header_name}.h"
XCODE_ATTRIBUTE_GCC_PRECOMPILE_PREFIX_HEADER "YES"
)
endif()
endmacro()
2 changes: 2 additions & 0 deletions bww2mxml/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@ if (NOT MINGW AND NOT APPLE)
ADD_DEPENDENCIES(bww2mxml mops2)
endif (NOT MINGW AND NOT APPLE)

xcode_pch(bww all)

ADD_DEPENDENCIES(bww mops1)
ADD_DEPENDENCIES(bww mops2)

4 changes: 3 additions & 1 deletion fluid/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,11 @@ add_library (fluid STATIC
set_target_properties (
fluid
PROPERTIES
COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -g -Wall -Wextra -Winvalid-pch"
COMPILE_FLAGS "${PCH_INCLUDE} -g -Wall -Wextra -Winvalid-pch"
)

xcode_pch(fluid all)

ADD_DEPENDENCIES(fluid mops1)
ADD_DEPENDENCIES(fluid mops2)

6 changes: 4 additions & 2 deletions libmscore/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -80,15 +80,17 @@ if (SCRIPT_INTERFACE)
set_target_properties (
libmscore
PROPERTIES
COMPILE_FLAGS "-g -include ${PROJECT_BINARY_DIR}/all.h -Wall -Wextra -Winvalid-pch"
COMPILE_FLAGS "-g ${PCH_INCLUDE} -Wall -Wextra -Winvalid-pch"
)
else (SCRIPT_INTERFACE)
set_target_properties (
libmscore
PROPERTIES
COMPILE_FLAGS "-g -include ${PROJECT_BINARY_DIR}/all.h -include libmscore/noscript.h -Wall -Wextra -Winvalid-pch"
COMPILE_FLAGS "-g ${PCH_INCLUDE} -include libmscore/noscript.h -Wall -Wextra -Winvalid-pch"
)
endif (SCRIPT_INTERFACE)

xcode_pch(libmscore all)

ADD_DEPENDENCIES(libmscore mops1)
ADD_DEPENDENCIES(libmscore mops2)
10 changes: 4 additions & 6 deletions mscore/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -236,13 +236,13 @@ if (MINGW)
if(CMAKE_BUILD_TYPE MATCHES "DEBUG")
set_target_properties( mscore
PROPERTIES
COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -g -Wall -Wextra -Winvalid-pch ${QT_DEFINITIONS} -DQT_SVG_LIB -DQT_GUI_LIB -DQT_XML_LIB -DQT_CORE_LIB"
COMPILE_FLAGS "${PCH_INCLUDE} -g -Wall -Wextra -Winvalid-pch ${QT_DEFINITIONS} -DQT_SVG_LIB -DQT_GUI_LIB -DQT_XML_LIB -DQT_CORE_LIB"
LINK_FLAGS "${PROJECT_BINARY_DIR}/resfile.o -mwindows -mconsole -L ${CROSSQT}/lib"
)
else(CMAKE_BUILD_TYPE MATCHES "DEBUG")
set_target_properties( mscore
PROPERTIES
COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -Wall -Wextra -Winvalid-pch ${QT_DEFINITIONS} -DQT_SVG_LIB -DQT_GUI_LIB -DQT_XML_LIB -DQT_CORE_LIB"
COMPILE_FLAGS "${PCH_INCLUDE} -Wall -Wextra -Winvalid-pch ${QT_DEFINITIONS} -DQT_SVG_LIB -DQT_GUI_LIB -DQT_XML_LIB -DQT_CORE_LIB"
LINK_FLAGS "-Wl,-S ${PROJECT_BINARY_DIR}/resfile.o -mwindows -L ${CROSSQT}/lib"
)
endif(CMAKE_BUILD_TYPE MATCHES "DEBUG")
Expand Down Expand Up @@ -346,7 +346,7 @@ else (MINGW)
set_target_properties (
mscore
PROPERTIES
COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -g -Wall -Wno-overloaded-virtual -Winvalid-pch"
COMPILE_FLAGS "${PCH_INCLUDE} -g -Wall -Wno-overloaded-virtual -Winvalid-pch"
LINK_FLAGS "-L${QT_LIBRARY_DIR}"
)
if (HAS_AUDIOFILE)
Expand Down Expand Up @@ -389,10 +389,8 @@ else (MINGW)
set_target_properties(mscore
PROPERTIES
LINK_FLAGS "-stdlib=libc++"
#XCODE_ATTRIBUTE_GCC_PREFIX_HEADER "${PROJECT_BINARY_DIR}/all.h"
#XCODE_ATTRIBUTE_GCC_PRECOMPILE_PREFIX_HEADER "YES"
)

xcode_pch(mscore all)
install (TARGETS mscore BUNDLE DESTINATION ${CMAKE_INSTALL_PREFIX})
install (FILES data/mscore.icns DESTINATION ${Mscore_SHARE_NAME}${Mscore_INSTALL_NAME})
install (FILES data/musescoreDocument.icns DESTINATION ${Mscore_SHARE_NAME}${Mscore_INSTALL_NAME})
Expand Down
4 changes: 3 additions & 1 deletion mstyle/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -64,9 +64,11 @@ add_library (
set_target_properties (
mstyle
PROPERTIES
COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -g -Wall -Wextra -Winvalid-pch"
COMPILE_FLAGS "${PCH_INCLUDE} -g -Wall -Wextra -Winvalid-pch"
)

xcode_pch(mstyle all)

ADD_DEPENDENCIES(mstyle mops1)
ADD_DEPENDENCIES(mstyle mops2)

4 changes: 3 additions & 1 deletion msynth/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,10 @@ add_library (
set_target_properties (
msynth
PROPERTIES
COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -g -Wall -Wextra -Winvalid-pch"
COMPILE_FLAGS "${PCH_INCLUDE} -g -Wall -Wextra -Winvalid-pch"
)

xcode_pch(msynth all)

ADD_DEPENDENCIES(msynth mops1)
ADD_DEPENDENCIES(msynth mops2)
4 changes: 3 additions & 1 deletion omr/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,11 @@ add_library (
set_target_properties (
omr
PROPERTIES
COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -g -Wall -Wextra -Winvalid-pch"
COMPILE_FLAGS "${PCH_INCLUDE} -g -Wall -Wextra -Winvalid-pch"
)

xcode_pch(omr all)

ADD_DEPENDENCIES(omr mops1)
ADD_DEPENDENCIES(omr mops2)

4 changes: 3 additions & 1 deletion thirdparty/diff/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,11 @@ add_library(diff_match_patch STATIC
set_target_properties (
diff_match_patch
PROPERTIES
COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -g -Wall -Wextra -Winvalid-pch"
COMPILE_FLAGS "${PCH_INCLUDE} -g -Wall -Wextra -Winvalid-pch"
)

xcode_pch(diff_match_patch all)

ADD_DEPENDENCIES(diff_match_patch mops1)
ADD_DEPENDENCIES(diff_match_patch mops2)

4 changes: 3 additions & 1 deletion thirdparty/ofqf/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,11 @@ add_library(ofqf STATIC
set_target_properties (
ofqf
PROPERTIES
COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -g -Wall -Wextra -Winvalid-pch"
COMPILE_FLAGS "${PCH_INCLUDE} -g -Wall -Wextra -Winvalid-pch"
)

xcode_pch(ofqf all)

ADD_DEPENDENCIES(ofqf mops1)
ADD_DEPENDENCIES(ofqf mops2)

4 changes: 3 additions & 1 deletion thirdparty/singleapp/src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,10 @@ add_library (
set_target_properties (
qtsingleapp
PROPERTIES
COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -g -Wall -Wextra -Winvalid-pch"
COMPILE_FLAGS "${PCH_INCLUDE} -g -Wall -Wextra -Winvalid-pch"
)

xcode_pch(qtsingleapp all)

ADD_DEPENDENCIES(qtsingleapp mops1)
ADD_DEPENDENCIES(qtsingleapp mops2)

0 comments on commit 7825ff8

Please sign in to comment.