little cmake cleanup (#624)

* little cmake cleanup

* try to fix msys check
This commit is contained in:
Roman Fomin 2022-06-25 22:17:47 +07:00 committed by GitHub
parent b996eb0d0c
commit ad2193c404
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 40 additions and 33 deletions

View File

@ -28,7 +28,14 @@ if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
message(FATAL_ERROR "In-tree builds are not supported.")
endif()
if(MINGW)
execute_process(COMMAND uname OUTPUT_VARIABLE uname)
if (NOT MSVC AND (uname MATCHES "^MSYS" OR uname MATCHES "^MINGW"))
set(MSYS ON)
else()
set(MSYS OFF)
endif()
if(MSYS)
# 3.16 is needed for GET_RUNTIME_DEPENDENCIES.
cmake_minimum_required(VERSION 3.16)
endif()
@ -64,7 +71,7 @@ check_symbol_exists(strncasecmp "strings.h" HAVE_DECL_STRNCASECMP)
# SDL2. On Windows, we use the official development library.
if(NOT SDL2_DIR)
if(WIN32 AND (MSVC OR CMAKE_CROSSCOMPILING))
if(WIN32 AND NOT MSYS)
message(STATUS "Downloading SDL2 Development Library...")
if(MSVC)
file(DOWNLOAD
@ -90,7 +97,7 @@ find_package(SDL2 2.0.7)
# SDL2_mixer. On Windows, we use the official development library.
if(NOT SDL2_MIXER_DIR)
if(WIN32 AND (MSVC OR CMAKE_CROSSCOMPILING))
if(WIN32 AND NOT MSYS)
message(STATUS "Downloading SDL2_mixer Development Library...")
if(MSVC)
file(DOWNLOAD
@ -116,7 +123,7 @@ find_package(SDL2_mixer 2.0.2)
# SDL2_net. On Windows, we use the official development library.
if(NOT SDL2_NET_DIR)
if(WIN32 AND (MSVC OR CMAKE_CROSSCOMPILING))
if(WIN32 AND NOT MSYS)
message(STATUS "Downloading SDL2_net Development Library...")
if(MSVC)
file(DOWNLOAD

View File

@ -103,7 +103,7 @@ if(FluidSynth_FOUND AND NOT TARGET FluidSynth::FluidSynth)
IMPORTED_LOCATION "${FluidSynth_LIBRARIES}"
INTERFACE_INCLUDE_DIRECTORIES "${FluidSynth_INCLUDE_DIRS}"
)
if(WIN32 AND MSVC)
if(WIN32 AND FluidSynth_DIR)
# On Windows, we need to figure out the location of our library files
# so we can copy and package them.
set(FluidSynth_DLL_DIR "${FluidSynth_DIR}/bin" CACHE INTERNAL "")

View File

@ -9,42 +9,42 @@ set(Python3_EXECUTABLE "@Python3_EXECUTABLE@")
if(Python3_EXECUTABLE)
execute_process(COMMAND
"${Python3_EXECUTABLE}" "docgen"
"-p" "CMDLINE.template"
"${Python3_EXECUTABLE}" docgen -p CMDLINE.template
"${PROJECT_SOURCE_DIR}/src"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
OUTPUT_FILE "CMDLINE.txt")
execute_process(COMMAND
"${Python3_EXECUTABLE}" "docgen"
"-M" "CMDLINE.template.md"
"${Python3_EXECUTABLE}" docgen -M CMDLINE.template.md
"${PROJECT_SOURCE_DIR}/src"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
OUTPUT_FILE "CMDLINE.md")
execute_process(COMMAND
"${Python3_EXECUTABLE}" "docgen"
"-s" "${PROJECT_NAME}" "-z" "${PROJECT_SHORTNAME}"
"-m" "woof.template"
"${PROJECT_SOURCE_DIR}/src"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
OUTPUT_FILE "${PROJECT_SHORTNAME}.6")
if(UNIX AND NOT APPLE)
execute_process(COMMAND
"${Python3_EXECUTABLE}" docgen
-s "${PROJECT_NAME}" -z "${PROJECT_SHORTNAME}"
-m woof.template
"${PROJECT_SOURCE_DIR}/src"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
OUTPUT_FILE "${PROJECT_SHORTNAME}.6")
execute_process(COMMAND
"${Python3_EXECUTABLE}" "docgen"
"-s" "${PROJECT_NAME}" "-z" "${PROJECT_SHORTNAME}"
"-m" "setup.template"
"${PROJECT_SOURCE_DIR}/setup"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
OUTPUT_FILE "${PROJECT_SHORTNAME}-setup.6")
execute_process(COMMAND
"${Python3_EXECUTABLE}" docgen
-s "${PROJECT_NAME}" -z "${PROJECT_SHORTNAME}"
-m setup.template
"${PROJECT_SOURCE_DIR}/setup"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
OUTPUT_FILE "${PROJECT_SHORTNAME}-setup.6")
execute_process(COMMAND
"${Python3_EXECUTABLE}" "docgen"
"-s" "${PROJECT_NAME}" "-z" "${PROJECT_SHORTNAME}"
"-b" "bash-completion/woof.template"
"${PROJECT_SOURCE_DIR}/src"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
OUTPUT_FILE "bash-completion/${PROJECT_SHORTNAME}")
execute_process(COMMAND
"${Python3_EXECUTABLE}" docgen
-s "${PROJECT_NAME}" -z "${PROJECT_SHORTNAME}"
-b bash-completion/woof.template
"${PROJECT_SOURCE_DIR}/src"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
OUTPUT_FILE "bash-completion/${PROJECT_SHORTNAME}")
endif()
else()
message("Python 3 not found, can't run install scripts.")
endif()

View File

@ -229,7 +229,7 @@ endif()
# Assemble library files.
set(WOOF_DLLS "")
if(WIN32 AND (MSVC OR CMAKE_CROSSCOMPILING))
if(WIN32 AND NOT MSYS)
# SDL2
list(APPEND WOOF_DLLS "${SDL2_DLL_DIR}/SDL2.dll")
@ -247,7 +247,7 @@ if(WIN32 AND (MSVC OR CMAKE_CROSSCOMPILING))
# SDL2_net
list(APPEND WOOF_DLLS "${SDL2_NET_DLL_DIR}/SDL2_net.dll")
if (FluidSynth_FOUND AND MSVC)
if (FluidSynth_DLL_DIR)
file(GLOB files "${FluidSynth_DLL_DIR}/*.dll")
foreach(file ${files})
list(APPEND WOOF_DLLS ${file})
@ -279,7 +279,7 @@ add_custom_command(TARGET woof POST_BUILD
"${CMAKE_CURRENT_BINARY_DIR}/autoload" VERBATIM)
# Try get dependencies in MSYS2 environment.
if(WIN32 AND NOT MSVC AND NOT CMAKE_CROSSCOMPILING)
if(MSYS)
find_program(DLLTOOL_EXECUTABLE
NAMES dlltool dlltool.exe
)