diff --git a/AI/CMakeLists.txt b/AI/CMakeLists.txt index 0b32ebc7e..d42e85929 100644 --- a/AI/CMakeLists.txt +++ b/AI/CMakeLists.txt @@ -1,3 +1,7 @@ +####################################### +# FuzzyLite support # +####################################### + option(FORCE_BUNDLED_FL "Force to use FuzzyLite included into VCMI's source tree" OFF) if(NOT FORCE_BUNDLED_FL) @@ -10,10 +14,14 @@ if(NOT FL_FOUND) set(FL_BUILD_BINARY OFF CACHE BOOL "") set(FL_BUILD_SHARED OFF CACHE BOOL "") set(FL_BUILD_TESTS OFF CACHE BOOL "") - add_subdirectory_with_folder("AI" FuzzyLite/fuzzylite EXCLUDE_FROM_ALL) + add_subdirectory(FuzzyLite/fuzzylite EXCLUDE_FROM_ALL) endif() -add_subdirectory_with_folder("AI" BattleAI) -add_subdirectory_with_folder("AI" StupidAI) -add_subdirectory_with_folder("AI" EmptyAI) -add_subdirectory_with_folder("AI" VCAI) +####################################### +# Add subdirectories # +####################################### + +add_subdirectory(BattleAI) +add_subdirectory(StupidAI) +add_subdirectory(EmptyAI) +add_subdirectory(VCAI) diff --git a/CMakeLists.txt b/CMakeLists.txt index e347ade6e..34ed84683 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,15 +1,32 @@ +# Minimum required version greatly affect CMake behavior +# So cmake_minimum_required must be called before the project() +# 2.8.12 is used since it's present in Ubuntu 14.04 and Cotire require it +cmake_minimum_required(VERSION 2.8.12) + project(VCMI) # TODO -# - macOS: there is problem with running fixup_bundle in main project after subdirectories. +# macOS: +# - There is problem with running fixup_bundle in main project after subdirectories. # Cmake put them after all install code of main CMakelists in cmake_install.cmake # Currently I just added extra add_subdirectory and CMakeLists.txt in osx directory to bypass that. -# - macOS: fix install with built-in minizip -# - macOS: try to fix build with RPATH. +# - Try to fix build with RPATH. # Currently if CMAKE_MACOSX_RPATH=1 then AI libs unable to find @rpath/libvcmi.dylib # I tried to set few different INSTALL_RPATH for all targets in AI directory, but nothing worked. -# - build: cleanup remove_directory copy_directory mess. -# When I was trying to fix it copy_if_different failed to work for me. -# - build: and find a way to move add_custom_command for assets deploy out of "lib/CMakeLists.txt" +# +# MXE: +# - Try to implement MXE support into BundleUtilities so we can deploy deps automatically +# +# Other: +# - Cleanup remove_directory copy_directory if performance will be a problem. +# We can use some macro over copy_if_different since it's only work for single file. +# - Find a way to move add_custom_command for assets deploy out of "lib/CMakeLists.txt" +# - Consider to remove M_DATA_DIR, DM_BIN_DIR, DM_LIB_DIR and not use them in code as well +# - Try to get rid of FOLDER override with define_property +# It's used currently to make sure that 3rd-party dependencies in git submodules get proper FOLDER property + +############################################ +# User-provided options # +############################################ if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING @@ -18,9 +35,6 @@ if(NOT CMAKE_BUILD_TYPE) set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS Debug Release RelWithDebInfo) endif() -set(CMAKE_MODULE_PATH ${CMAKE_HOME_DIRECTORY}/cmake_modules) -include(VCMIUtils) - set(VCMI_VERSION_MAJOR 0) set(VCMI_VERSION_MINOR 99) set(VCMI_VERSION_PATCH 0) @@ -37,23 +51,42 @@ option(ENABLE_MONOLITHIC_INSTALL "Install everything in single directory on Linu set(PACKAGE_NAME_SUFFIX "" CACHE STRING "Suffix for CPack package name") set(PACKAGE_FILE_NAME "" CACHE STRING "Override for CPack package filename") -if(ENABLE_PCH) - # Cotire require CMake 2.8.12 - cmake_minimum_required(VERSION 2.8.12) -elseif(ENABLE_LAUNCHER) - # Some of Qt5 linking policies require 2.8.11 - cmake_minimum_required(VERSION 2.8.11) -elseif(ENABLE_TEST) - # For whatever reason test requirement is 2.8.7 - cmake_minimum_required(VERSION 2.8.7) -else() - cmake_minimum_required(VERSION 2.6) -endif() +############################################ +# Miscellaneous options # +############################################ -# Find better place for this -if(APPLE) - set(CMAKE_MACOSX_RPATH 0) -endif() +set(CMAKE_MODULE_PATH ${CMAKE_HOME_DIRECTORY}/cmake_modules) +# Contains custom functions and macros, but don't altering any options +include(VCMIUtils) + +# Options to enable folders in CMake generated projects for Visual Studio, Xcode, etc +# Very useful to put 3rd-party libraries such as Minizip, GoogleTest and FuzzyLite in their own folders +set_property(GLOBAL PROPERTY USE_FOLDERS TRUE) +# Make FOLDER property inheritable +# So when we set FOLDER property on AI directory all and targets inside will inherit it +# +# Important! This trick depend on undefined behavior since we override CMake own property. +# In same time define_property documentation states it's function for custom properties. +define_property( + TARGET + PROPERTY FOLDER + INHERITED + BRIEF_DOCS "Set the folder name." + FULL_DOCS "Use to organize targets in an IDE." +) + +# Generate Version.cpp +include(GetGitRevisionDescription) +get_git_head_revision(GIT_REFSPEC GIT_SHA1) +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/Version.cpp.in" "${CMAKE_BINARY_DIR}/Version.cpp" @ONLY) + +# Precompiled header configuration +include(cotire) +set(PCH_PROPERTIES + COTIRE_ENABLE_PRECOMPILED_HEADER ${ENABLE_PCH} + COTIRE_ADD_UNITY_BUILD FALSE + COTIRE_CXX_PREFIX_HEADER_INIT "StdInc.h" +) ############################################ # Documentation section # @@ -62,56 +95,65 @@ endif() include(UseDoxygen OPTIONAL) ############################################ -# Building section # +# Compile and linking options # ############################################ +if(APPLE) + set(CMAKE_MACOSX_RPATH 0) +endif(APPLE) + if(WIN32) add_definitions(-DBOOST_THREAD_USE_LIB) # Windows Vista or newer for FuzzyLite 6 to compile add_definitions(-D_WIN32_WINNT=0x0600) - set(SYSTEM_LIBS ${SYSTEM_LIBS} ole32 oleaut32 ws2_32 mswsock dbghelp) #delete lib prefix for dlls (libvcmi -> vcmi) set(CMAKE_SHARED_LIBRARY_PREFIX "") - if(MINGW) - #MinGW: check for iconv (may be needed for boost.locale) - #include(CheckLibraryExists) - #check_library_exists(iconv libiconv_open "" ICONV_FOUND) - #if(ICONV_FOUND) - # set(SYSTEM_LIBS ${SYSTEM_LIBS} iconv) - #endif() - - #MinGW: use O1 to prevent compiler crash in some cases - #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O1") - endif() - if(MSVC) - #MSVC: Fix problems with linking add_definitions(-DBOOST_ALL_NO_LIB) set(Boost_USE_STATIC_LIBS OFF) - #MSVC: Don't link with SDLMain + # Don't link with SDLMain #set(SDL2_BUILDING_LIBRARY ON) - #MSVC: Suppress warnings + # Suppress warnings add_definitions(-D_CRT_SECURE_NO_WARNINGS) add_definitions(-D_SCL_SECURE_NO_WARNINGS) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj /wd4251") endif() endif(WIN32) +if(CMAKE_COMPILER_IS_GNUCXX OR NOT WIN32) #so far all *nix compilers support such parameters + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x -Wall -Wextra -Wpointer-arith -Wuninitialized") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-strict-aliasing -Wno-switch -Wno-sign-compare -Wno-unused-local-typedefs") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-parameter -Wno-overloaded-virtual -Wno-type-limits -Wno-unknown-pragmas") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-reorder") + + if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-mismatched-tags -Wno-unknown-warning-option") + endif() + + if(UNIX) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden") + endif() +endif() + +# Check if some platform-specific libraries are needed for linking if(NOT WIN32) include(CheckLibraryExists) - #check if some platform-specific libraries are needed for linking + # Shared memory functions used by boost::interprocess + # FindBoost handle linking with pthreads, but doesn't handle this CHECK_LIBRARY_EXISTS(rt shm_open "" HAVE_RT_LIB) if(HAVE_RT_LIB) set(SYSTEM_LIBS ${SYSTEM_LIBS} rt) endif() endif() -set(SYSTEM_LIBS ${SYSTEM_LIBS} ${CMAKE_DL_LIBS}) +############################################ +# Finding packages # +############################################ set(FFmpeg_FIND_COMPONENTS AVFORMAT SWSCALE) find_package(Boost 1.48.0 COMPONENTS date_time filesystem locale program_options system thread REQUIRED) @@ -119,7 +161,7 @@ find_package(ZLIB REQUIRED) find_package(FFmpeg REQUIRED) find_package(Minizip) if(MINIZIP_FOUND) - add_definitions(-DUSE_SYSTEM_MINIZIP) + add_definitions(-DUSE_SYSTEM_MINIZIP) endif() find_package(SDL2 REQUIRED) @@ -127,35 +169,15 @@ find_package(SDL2_image REQUIRED) find_package(SDL2_mixer REQUIRED) find_package(SDL2_ttf REQUIRED) -set(SDL_INCLUDE_DIR "${SDL2_INCLUDE_DIR}") -set(SDLTTF_INCLUDE_DIR "${SDL2_TTF_INCLUDE_DIR}") -set(SDLIMAGE_INCLUDE_DIR "${SDL2_IMAGE_INCLUDE_DIR}") -set(SDLMIXER_INCLUDE_DIR "${SDL2_MIXER_INCLUDE_DIR}") -set(SDL_LIBRARY "${SDL2_LIBRARY}") -set(SDLTTF_LIBRARY "${SDL2_TTF_LIBRARY}") -set(SDLIMAGE_LIBRARY "${SDL2_IMAGE_LIBRARY}") -set(SDLMIXER_LIBRARY "${SDL2_MIXER_LIBRARY}") - -include(cotire) - if(ENABLE_LAUNCHER) # Widgets finds its own dependencies (QtGui and QtCore). find_package(Qt5Widgets REQUIRED) find_package(Qt5Network REQUIRED) endif() -if(CMAKE_COMPILER_IS_GNUCXX OR NOT WIN32) #so far all *nix compilers support such parameters - if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") - set(CLANG_SPECIFIC_FLAGS "-Wno-mismatched-tags -Wno-unknown-warning-option") - endif() - - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x -Wall -Wextra -Wpointer-arith -Wno-strict-aliasing -Wno-switch -Wno-sign-compare -Wno-unused-local-typedefs -Wno-unused-parameter -Wuninitialized -Wno-overloaded-virtual -Wno-type-limits -Wno-unknown-pragmas -Wno-reorder ${CLANG_SPECIFIC_FLAGS}") - - if(UNIX) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden") - endif() - -endif() +############################################ +# Output directories # +############################################ if(WIN32) # on Win everything goes into H3 root directory set(BIN_DIR "." CACHE STRING "Where to install binaries") @@ -208,12 +230,9 @@ add_definitions(-DM_DATA_DIR="${CMAKE_INSTALL_PREFIX}/${DATA_DIR}") add_definitions(-DM_BIN_DIR="${CMAKE_INSTALL_PREFIX}/${BIN_DIR}") add_definitions(-DM_LIB_DIR="${CMAKE_INSTALL_PREFIX}/${LIB_DIR}") -# precompiled header configuration -set(PCH_PROPERTIES - COTIRE_ENABLE_PRECOMPILED_HEADER ${ENABLE_PCH} - COTIRE_ADD_UNITY_BUILD FALSE - COTIRE_CXX_PREFIX_HEADER_INIT "StdInc.h" -) +####################################### +# Add subdirectories # +####################################### if(ENABLE_ERM) add_subdirectory(scripting/erm) @@ -276,8 +295,7 @@ set(CPACK_PACKAGE_VENDOR "VCMI team") if(WIN32) set(CPACK_MONOLITHIC_INSTALL 1) - set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/license.txt") - set(CPACK_PACKAGE_EXECUTABLES "VCMI_launcher;VCMI") + set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/license.txt") set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}") if("${PACKAGE_NAME_SUFFIX}" STREQUAL "") set(CPACK_NSIS_PACKAGE_NAME "VCMI ${CPACK_PACKAGE_VERSION}") @@ -286,14 +304,31 @@ if(WIN32) endif() set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES") if(ENABLE_LAUNCHER) + set(CPACK_PACKAGE_EXECUTABLES "VCMI_launcher;VCMI") set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS " CreateShortCut \\\"$DESKTOP\\\\VCMI.lnk\\\" \\\"$INSTDIR\\\\VCMI_launcher.exe\\\"") else() + set(CPACK_PACKAGE_EXECUTABLES "VCMI_client;VCMI") set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS " CreateShortCut \\\"$DESKTOP\\\\VCMI.lnk\\\" \\\"$INSTDIR\\\\VCMI_client.exe\\\"") endif() set(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS " Delete \\\"$DESKTOP\\\\VCMI.lnk\\\" ") - configure_file("${CMAKE_SOURCE_DIR}/cmake_modules/CMakeCPackOptions.cmake.in" "${CMAKE_BINARY_DIR}/CMakeCPackOptions.cmake" @ONLY) - set(CPACK_PROJECT_CONFIG_FILE "${CMAKE_BINARY_DIR}/CMakeCPackOptions.cmake") + # set the install/unistall icon used for the installer itself + # There is a bug in NSI that does not handle full unix paths properly. + set(CPACK_NSIS_MUI_ICON "${CMAKE_CURRENT_SOURCE_DIR}/client\\vcmi.ico") + set(CPACK_NSIS_MUI_UNIICON "${CMAKE_CURRENT_SOURCE_DIR}/client\\vcmi.ico") + # set the package header icon for MUI + set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/client\\vcmi.ico") + + set(CPACK_NSIS_MENU_LINKS "http://vcmi.eu/" "VCMI Web Site") + + set(CPACK_NSIS_INSTALLED_ICON_NAME "VCMI_client.exe") + set(CPACK_NSIS_COMPRESSOR "/SOLID lzma") + set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_PACKAGE_NAME}, open-source engine for Heroes of Might and Magic III ") + set(CPACK_NSIS_HELP_LINK "http://vcmi.eu/") + set(CPACK_NSIS_URL_INFO_ABOUT "http://vcmi.eu/") + set(CPACK_NSIS_CONTACT @CPACK_PACKAGE_CONTACT@) + set(CPACK_NSIS_EXECUTABLES_DIRECTORY ".") + elseif(APPLE AND NOT ENABLE_MONOLITHIC_INSTALL) set(CPACK_MONOLITHIC_INSTALL 1) set(CPACK_GENERATOR "DragNDrop") @@ -320,8 +355,4 @@ else() set(CPACK_GENERATOR TGZ) endif() -include(GetGitRevisionDescription) -get_git_head_revision(GIT_REFSPEC GIT_SHA1) -configure_file("${CMAKE_CURRENT_SOURCE_DIR}/Version.cpp.in" "${CMAKE_BINARY_DIR}/Version.cpp" @ONLY) - include(CPack) diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index efac19004..9359b66e8 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -1,5 +1,5 @@ include_directories(${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/include ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_HOME_DIRECTORY}/lib) -include_directories(${SDL_INCLUDE_DIR} ${SDLIMAGE_INCLUDE_DIR} ${SDLMIXER_INCLUDE_DIR} ${SDLTTF_INCLUDE_DIR}) +include_directories(${SDL2_INCLUDE_DIR} ${SDL2_IMAGE_INCLUDE_DIR} ${SDL2_MIXER_INCLUDE_DIR} ${SDL2_TTF_INCLUDE_DIR}) include_directories(${Boost_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIR} ${FFMPEG_INCLUDE_DIRS}) set(client_SRCS @@ -136,8 +136,10 @@ if(WIN32) target_link_libraries(vcmiclient ${SDLMAIN_LIBRARY}) endif() -target_link_libraries(vcmiclient vcmi ${Boost_LIBRARIES} ${SDL_LIBRARY} ${SDLIMAGE_LIBRARY} ${SDLMIXER_LIBRARY} ${SDLTTF_LIBRARY} ${ZLIB_LIBRARIES} ${FFMPEG_LIBRARIES} ${FFMPEG_EXTRA_LINKING_OPTIONS} ${SYSTEM_LIBS}) - +target_link_libraries(vcmiclient vcmi ${Boost_LIBRARIES} + ${SDL2_LIBRARY} ${SDL2_IMAGE_LIBRARY} ${SDL2_MIXER_LIBRARY} ${SDL2_TTF_LIBRARY} + ${ZLIB_LIBRARIES} ${FFMPEG_LIBRARIES} ${FFMPEG_EXTRA_LINKING_OPTIONS} ${SYSTEM_LIBS} +) vcmi_set_output_dir(vcmiclient "") set_target_properties(vcmiclient PROPERTIES ${PCH_PROPERTIES}) diff --git a/cmake_modules/CMakeCPackOptions.cmake.in b/cmake_modules/CMakeCPackOptions.cmake.in deleted file mode 100644 index b39bc5030..000000000 --- a/cmake_modules/CMakeCPackOptions.cmake.in +++ /dev/null @@ -1,26 +0,0 @@ -# This file is configured at cmake time, and loaded at cpack time. -# To pass variables to cpack from cmake, they must be configured -# in this file. - -if(CPACK_GENERATOR MATCHES "NSIS") - set(CPACK_NSIS_INSTALL_ROOT "@CPACK_NSIS_INSTALL_ROOT@") - - # set the install/unistall icon used for the installer itself - # There is a bug in NSI that does not handle full unix paths properly. - set(CPACK_NSIS_MUI_ICON "@CMAKE_SOURCE_DIR@/client\\vcmi.ico") - set(CPACK_NSIS_MUI_UNIICON "@CMAKE_SOURCE_DIR@/client\\vcmi.ico") - # set the package header icon for MUI - set(CPACK_PACKAGE_ICON "@CMAKE_SOURCE_DIR@/client\\vcmi.ico") - - set(CPACK_NSIS_MENU_LINKS - "http://vcmi.eu/" "VCMI Web Site") - - set(CPACK_NSIS_INSTALLED_ICON_NAME "VCMI_client.exe") - set(CPACK_NSIS_COMPRESSOR "/SOLID lzma") - set(CPACK_NSIS_PACKAGE_NAME "@CPACK_NSIS_PACKAGE_NAME@") - set(CPACK_NSIS_DISPLAY_NAME "@CPACK_NSIS_PACKAGE_NAME@, open-source engine for Heroes of Might and Magic III ") - set(CPACK_NSIS_HELP_LINK "http://vcmi.eu/") - set(CPACK_NSIS_URL_INFO_ABOUT "http://vcmi.eu/") - set(CPACK_NSIS_CONTACT @CPACK_PACKAGE_CONTACT@) - set(CPACK_NSIS_EXECUTABLES_DIRECTORY ".") -endif() \ No newline at end of file diff --git a/cmake_modules/VCMIUtils.cmake b/cmake_modules/VCMIUtils.cmake index a37469f13..a69bfd83d 100644 --- a/cmake_modules/VCMIUtils.cmake +++ b/cmake_modules/VCMIUtils.cmake @@ -1,5 +1,8 @@ +# This file should contain custom functions and macro and them only. +# It's should not alter any configuration on inclusion + ####################################### -# Build output directories # +# Build output path # ####################################### macro(vcmi_set_output_dir name dir) # Multi-config builds for Visual Studio, Xcode @@ -18,7 +21,7 @@ macro(vcmi_set_output_dir name dir) endmacro() ####################################### -# Better project generation # +# Project generation # ####################################### # Let us have proper tree-like structure in IDEs such as Visual Studio @@ -35,17 +38,7 @@ function(assign_source_group) endforeach() endfunction(assign_source_group) -# Options to enable folders in CMake generated projects for Visual Studio, Xcode, etc -# Very useful to put 3rd-party libraries such as Minizip, GoogleTest and FuzzyLite in their own folders -set_property(GLOBAL PROPERTY USE_FOLDERS TRUE) -define_property( - TARGET - PROPERTY FOLDER - INHERITED - BRIEF_DOCS "Set the folder name." - FULL_DOCS "Use to organize targets in an IDE." -) - +# Macro to add subdirectory and set appropriate FOLDER for generated projects files function(add_subdirectory_with_folder _folder_name _folder) add_subdirectory(${_folder} ${ARGN}) set_property(DIRECTORY "${_folder}" PROPERTY FOLDER "${_folder_name}") @@ -65,7 +58,7 @@ if(${CMAKE_GENERATOR} MATCHES "Xcode") endif(${CMAKE_GENERATOR} MATCHES "Xcode") ####################################### -# CMake debugging # +# CMake debugging # ####################################### # Can be called to see check cmake variables and environment variables diff --git a/launcher/CMakeLists.txt b/launcher/CMakeLists.txt index fb57cbf8f..9365d5faa 100644 --- a/launcher/CMakeLists.txt +++ b/launcher/CMakeLists.txt @@ -2,7 +2,7 @@ # https://doc.qt.io/qt-5/cmake-manual.html include_directories(${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/include ${CMAKE_CURRENT_SOURCE_DIR}) include_directories(${ZLIB_INCLUDE_DIR} ${Boost_INCLUDE_DIRS} ${Qt5Widgets_INCLUDE_DIRS} ${Qt5Network_INCLUDE_DIRS}) -include_directories(${SDL_INCLUDE_DIR}) +include_directories(${SDL2_INCLUDE_DIR}) set(launcher_modmanager_SRCS modManager/cdownloadmanager_moc.cpp @@ -102,7 +102,7 @@ if(APPLE) set_property(GLOBAL PROPERTY AUTOGEN_TARGETS_FOLDER vcmilauncher) endif() -target_link_libraries(vcmilauncher vcmi Qt5::Widgets Qt5::Network ${SDL_LIBRARY}) +target_link_libraries(vcmilauncher vcmi Qt5::Widgets Qt5::Network ${SDL2_LIBRARY}) vcmi_set_output_dir(vcmilauncher "") diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index fafd240d2..14ad6253d 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -1,5 +1,5 @@ include_directories(${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/include ${CMAKE_CURRENT_SOURCE_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/lib) -include_directories(${Boost_INCLUDE_DIRS} ${SDL_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR}) +include_directories(${Boost_INCLUDE_DIRS} ${SDL2_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR}) set(lib_SRCS StdInc.cpp @@ -289,7 +289,7 @@ assign_source_group(${lib_SRCS} ${lib_HEADERS}) add_library(vcmi SHARED ${lib_SRCS} ${lib_HEADERS}) set_target_properties(vcmi PROPERTIES COMPILE_DEFINITIONS "VCMI_DLL=1") -target_link_libraries(vcmi ${MINIZIP_LIBRARIES} ${Boost_LIBRARIES} ${SDL_LIBRARY} ${ZLIB_LIBRARIES} ${SYSTEM_LIBS}) +target_link_libraries(vcmi ${MINIZIP_LIBRARIES} ${Boost_LIBRARIES} ${SDL2_LIBRARY} ${ZLIB_LIBRARIES} ${SYSTEM_LIBS}) if(WIN32) set_target_properties(vcmi