CMake: Set precompiled headers when adding libraries
Combine the three pch related functions into one.
This commit is contained in:
@@ -432,11 +432,13 @@ macro(wx_add_library name)
|
|||||||
BUNDLE DESTINATION Applications/wxWidgets
|
BUNDLE DESTINATION Applications/wxWidgets
|
||||||
)
|
)
|
||||||
wx_install(EXPORT ${name}Targets NAMESPACE wx:: DESTINATION "lib/${wxPLATFORM_LIB_DIR}/cmake")
|
wx_install(EXPORT ${name}Targets NAMESPACE wx:: DESTINATION "lib/${wxPLATFORM_LIB_DIR}/cmake")
|
||||||
|
wx_target_enable_precomp(${name} "${wxSOURCE_DIR}/include/wx/wxprec.h")
|
||||||
endif()
|
endif()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
# Enable cotire for target, use optional second argument for prec. header
|
# Enable cotire for target, use optional second argument for prec. header
|
||||||
macro(wx_target_enable_precomp target_name)
|
macro(wx_target_enable_precomp target_name)
|
||||||
|
if(wxBUILD_PRECOMP)
|
||||||
target_compile_definitions(${target_name} PRIVATE WX_PRECOMP)
|
target_compile_definitions(${target_name} PRIVATE WX_PRECOMP)
|
||||||
if(${ARGC} GREATER 1 AND NOT ${ARGV1} STREQUAL "")
|
if(${ARGC} GREATER 1 AND NOT ${ARGV1} STREQUAL "")
|
||||||
set_target_properties(${target_name} PROPERTIES
|
set_target_properties(${target_name} PROPERTIES
|
||||||
@@ -444,28 +446,11 @@ macro(wx_target_enable_precomp target_name)
|
|||||||
endif()
|
endif()
|
||||||
set_target_properties(${target_name} PROPERTIES COTIRE_ADD_UNITY_BUILD FALSE)
|
set_target_properties(${target_name} PROPERTIES COTIRE_ADD_UNITY_BUILD FALSE)
|
||||||
cotire(${target_name})
|
cotire(${target_name})
|
||||||
endmacro()
|
|
||||||
|
|
||||||
# Enable precompiled headers for applications
|
|
||||||
macro(wx_app_enable_precomp target_name)
|
|
||||||
if(wxBUILD_PRECOMP)
|
|
||||||
wx_target_enable_precomp(${target_name} "${wxSOURCE_DIR}/include/wx/wxprec.h")
|
|
||||||
elseif(MSVC)
|
elseif(MSVC)
|
||||||
target_compile_definitions(${target_name} PRIVATE NOPCH)
|
target_compile_definitions(${target_name} PRIVATE NOPCH)
|
||||||
endif()
|
endif()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
# Enable precompiled headers for wx libraries
|
|
||||||
macro(wx_finalize_lib target_name)
|
|
||||||
if(wxBUILD_PRECOMP)
|
|
||||||
if(TARGET ${target_name})
|
|
||||||
wx_target_enable_precomp(${target_name} "${wxSOURCE_DIR}/include/wx/wxprec.h")
|
|
||||||
endif()
|
|
||||||
elseif(MSVC)
|
|
||||||
wx_lib_compile_definitions(${target_name} PRIVATE NOPCH)
|
|
||||||
endif()
|
|
||||||
endmacro()
|
|
||||||
|
|
||||||
# wx_lib_link_libraries(name [])
|
# wx_lib_link_libraries(name [])
|
||||||
# Forwards everything to target_link_libraries() except for monolithic
|
# Forwards everything to target_link_libraries() except for monolithic
|
||||||
# build where it collects all libraries for linking with the mono lib
|
# build where it collects all libraries for linking with the mono lib
|
||||||
@@ -882,7 +867,7 @@ function(wx_add name group)
|
|||||||
set(APP_FOLDER ${group})
|
set(APP_FOLDER ${group})
|
||||||
endif()
|
endif()
|
||||||
wx_set_common_target_properties(${target_name})
|
wx_set_common_target_properties(${target_name})
|
||||||
wx_app_enable_precomp(${target_name})
|
wx_target_enable_precomp(${target_name} "${wxSOURCE_DIR}/include/wx/wxprec.h")
|
||||||
set_target_properties(${target_name} PROPERTIES
|
set_target_properties(${target_name} PROPERTIES
|
||||||
FOLDER ${APP_FOLDER}
|
FOLDER ${APP_FOLDER}
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -96,7 +96,6 @@ if(wxBUILD_MONOLITHIC)
|
|||||||
set_source_files_properties(${file} PROPERTIES HEADER_FILE_ONLY TRUE)
|
set_source_files_properties(${file} PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||||
endforeach()
|
endforeach()
|
||||||
wx_webview_copy_webview2_loader(wxmono)
|
wx_webview_copy_webview2_loader(wxmono)
|
||||||
wx_finalize_lib(wxmono)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Propagate variable(s) to parent scope
|
# Propagate variable(s) to parent scope
|
||||||
|
|||||||
@@ -10,5 +10,3 @@
|
|||||||
include(../../source_groups.cmake)
|
include(../../source_groups.cmake)
|
||||||
|
|
||||||
wx_add_library(wxadv "${wxSOURCE_DIR}/src/common/dummy.cpp")
|
wx_add_library(wxadv "${wxSOURCE_DIR}/src/common/dummy.cpp")
|
||||||
|
|
||||||
wx_finalize_lib(wxadv)
|
|
||||||
|
|||||||
@@ -18,5 +18,3 @@ elseif(WXGTK2)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
wx_add_library(wxaui ${AUI_FILES})
|
wx_add_library(wxaui ${AUI_FILES})
|
||||||
|
|
||||||
wx_finalize_lib(wxaui)
|
|
||||||
|
|||||||
@@ -73,5 +73,3 @@ if(APPLE)
|
|||||||
elseif(UNIX)
|
elseif(UNIX)
|
||||||
wx_lib_link_libraries(wxbase PRIVATE dl)
|
wx_lib_link_libraries(wxbase PRIVATE dl)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
wx_finalize_lib(wxbase)
|
|
||||||
|
|||||||
@@ -105,5 +105,3 @@ if(wxUSE_LIBNOTIFY)
|
|||||||
wx_lib_include_directories(wxcore ${LIBNOTIFY_INCLUDE_DIRS})
|
wx_lib_include_directories(wxcore ${LIBNOTIFY_INCLUDE_DIRS})
|
||||||
wx_lib_link_libraries(wxcore PUBLIC ${LIBNOTIFY_LIBRARIES})
|
wx_lib_link_libraries(wxcore PUBLIC ${LIBNOTIFY_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
wx_finalize_lib(wxcore)
|
|
||||||
|
|||||||
@@ -26,5 +26,3 @@ endif()
|
|||||||
wx_add_library(wxgl ${GL_FILES})
|
wx_add_library(wxgl ${GL_FILES})
|
||||||
wx_lib_include_directories(wxgl ${OPENGL_INCLUDE_DIR})
|
wx_lib_include_directories(wxgl ${OPENGL_INCLUDE_DIR})
|
||||||
wx_lib_link_libraries(wxgl PUBLIC ${OPENGL_LIBRARIES})
|
wx_lib_link_libraries(wxgl PUBLIC ${OPENGL_LIBRARIES})
|
||||||
|
|
||||||
wx_finalize_lib(wxgl)
|
|
||||||
|
|||||||
@@ -21,5 +21,3 @@ if(wxUSE_LIBMSPACK)
|
|||||||
wx_lib_include_directories(wxhtml ${MSPACK_INCLUDE_DIRS})
|
wx_lib_include_directories(wxhtml ${MSPACK_INCLUDE_DIRS})
|
||||||
wx_lib_link_libraries(wxhtml PRIVATE ${MSPACK_LIBRARIES})
|
wx_lib_link_libraries(wxhtml PRIVATE ${MSPACK_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
wx_finalize_lib(wxhtml)
|
|
||||||
|
|||||||
@@ -53,5 +53,3 @@ elseif(WXGTK)
|
|||||||
wx_lib_link_libraries(wxmedia PUBLIC ${GSTREAMER_PLAYER_LIBRARIES})
|
wx_lib_link_libraries(wxmedia PUBLIC ${GSTREAMER_PLAYER_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
wx_finalize_lib(wxmedia)
|
|
||||||
|
|||||||
@@ -35,5 +35,3 @@ if (wxUSE_WEBREQUEST_CURL)
|
|||||||
target_include_directories(wxnet PRIVATE ${CURL_INCLUDE_DIRS})
|
target_include_directories(wxnet PRIVATE ${CURL_INCLUDE_DIRS})
|
||||||
wx_lib_link_libraries(wxnet PRIVATE ${CURL_LIBRARIES})
|
wx_lib_link_libraries(wxnet PRIVATE ${CURL_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
wx_finalize_lib(wxnet)
|
|
||||||
|
|||||||
@@ -12,5 +12,3 @@ include(../../source_groups.cmake)
|
|||||||
wx_append_sources(PROPGRID_FILES PROPGRID)
|
wx_append_sources(PROPGRID_FILES PROPGRID)
|
||||||
|
|
||||||
wx_add_library(wxpropgrid ${PROPGRID_FILES})
|
wx_add_library(wxpropgrid ${PROPGRID_FILES})
|
||||||
|
|
||||||
wx_finalize_lib(wxpropgrid)
|
|
||||||
|
|||||||
@@ -13,5 +13,3 @@ wx_append_sources(QA_FILES QA)
|
|||||||
|
|
||||||
wx_add_library(wxqa ${QA_FILES})
|
wx_add_library(wxqa ${QA_FILES})
|
||||||
wx_lib_link_libraries(wxqa PUBLIC wxxml)
|
wx_lib_link_libraries(wxqa PUBLIC wxxml)
|
||||||
|
|
||||||
wx_finalize_lib(wxqa)
|
|
||||||
|
|||||||
@@ -12,5 +12,3 @@ include(../../source_groups.cmake)
|
|||||||
wx_append_sources(RIBBON_FILES RIBBON)
|
wx_append_sources(RIBBON_FILES RIBBON)
|
||||||
|
|
||||||
wx_add_library(wxribbon ${RIBBON_FILES})
|
wx_add_library(wxribbon ${RIBBON_FILES})
|
||||||
|
|
||||||
wx_finalize_lib(wxribbon)
|
|
||||||
|
|||||||
@@ -13,5 +13,3 @@ wx_append_sources(RICHTEXT_FILES RICHTEXT)
|
|||||||
|
|
||||||
wx_add_library(wxrichtext ${RICHTEXT_FILES})
|
wx_add_library(wxrichtext ${RICHTEXT_FILES})
|
||||||
wx_lib_link_libraries(wxrichtext PRIVATE wxhtml wxxml)
|
wx_lib_link_libraries(wxrichtext PRIVATE wxhtml wxxml)
|
||||||
|
|
||||||
wx_finalize_lib(wxrichtext)
|
|
||||||
|
|||||||
@@ -198,5 +198,3 @@ wx_lib_link_libraries(wxstc PRIVATE wxscintilla)
|
|||||||
if(WXMSW)
|
if(WXMSW)
|
||||||
wx_lib_link_libraries(wxstc PRIVATE imm32)
|
wx_lib_link_libraries(wxstc PRIVATE imm32)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
wx_finalize_lib(wxstc)
|
|
||||||
|
|||||||
@@ -108,8 +108,6 @@ elseif(WXGTK)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
wx_finalize_lib(wxwebview)
|
|
||||||
|
|
||||||
# webkit extension plugin
|
# webkit extension plugin
|
||||||
# we can't use (all of the) macros and functions because this library should
|
# we can't use (all of the) macros and functions because this library should
|
||||||
# always be build as a shared libary, and not included in the monolithic build.
|
# always be build as a shared libary, and not included in the monolithic build.
|
||||||
|
|||||||
@@ -13,5 +13,3 @@ wx_append_sources(XML_FILES XML)
|
|||||||
wx_add_library(wxxml IS_BASE ${XML_FILES})
|
wx_add_library(wxxml IS_BASE ${XML_FILES})
|
||||||
wx_lib_link_libraries(wxxml PRIVATE ${EXPAT_LIBRARIES})
|
wx_lib_link_libraries(wxxml PRIVATE ${EXPAT_LIBRARIES})
|
||||||
wx_lib_include_directories(wxxml ${EXPAT_INCLUDE_DIRS})
|
wx_lib_include_directories(wxxml ${EXPAT_INCLUDE_DIRS})
|
||||||
|
|
||||||
wx_finalize_lib(wxxml)
|
|
||||||
|
|||||||
@@ -13,5 +13,3 @@ wx_append_sources(XRC_FILES XRC)
|
|||||||
|
|
||||||
wx_add_library(wxxrc ${XRC_FILES})
|
wx_add_library(wxxrc ${XRC_FILES})
|
||||||
wx_lib_link_libraries(wxxrc PRIVATE wxhtml wxxml)
|
wx_lib_link_libraries(wxxrc PRIVATE wxhtml wxxml)
|
||||||
|
|
||||||
wx_finalize_lib(wxxrc)
|
|
||||||
|
|||||||
Reference in New Issue
Block a user