build: improve the Linux aspect of things (#75)

Improved, fixed and streamlined cmake files. Optionally use system libraries instead of vcpkg (-DENABLE_VCPKG=OFF)
This commit is contained in:
Andrea Pappacoda 2022-08-29 07:19:48 +02:00 committed by GitHub
parent 0f24b0663e
commit f51a51df3b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 368 additions and 96 deletions

View file

@ -1,7 +1,5 @@
project(CemuGui)
include_directories(".")
file(GLOB_RECURSE CPP_FILES *.cpp)
file(GLOB_RECURSE H_FILES *.h)
add_library(CemuGui ${CPP_FILES} ${H_FILES})
@ -17,13 +15,32 @@ wxcomponents/checktree.h
target_precompile_headers(CemuGui PRIVATE ../Common/precompiled.h)
target_include_directories(CemuGui PRIVATE ../)
target_include_directories(CemuGui PUBLIC "../")
# PUBLIC because rapidjson/document.h is included in ChecksumTool.h
target_include_directories(CemuGui PUBLIC ${RAPIDJSON_INCLUDE_DIRS})
target_link_libraries(CemuGui ${wxWidgets_LIBRARIES})
target_link_libraries(CemuGui libzip::zip)
target_link_libraries(CemuGui CemuCafe CemuComponents CemuResource)
target_link_libraries(CemuGui zarchive)
target_link_libraries(CemuGui PRIVATE
CemuAudio
CemuCafe
CemuCommon
CemuComponents
CemuConfig
CemuInput
CemuResource
CemuUtil
Boost::headers
CURL::libcurl
libzip::zip
OpenSSL::Crypto
pugixml::pugixml
ZArchive::zarchive
)
if(ENABLE_CUBEB)
target_link_libraries(CemuGui cubeb)
target_link_libraries(CemuGui PRIVATE cubeb::cubeb)
endif()
if (ENABLE_WXWIDGETS)
# PUBLIC because wx/app.h is included in CemuApp.h
target_link_libraries(CemuGui PUBLIC wx::base wx::core wx::gl wx::propgrid wx::xrc)
endif()