mirror of
https://codeberg.org/comaps/comaps
synced 2025-12-19 04:53:36 +00:00
CMake fixes for Windows
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
This commit is contained in:
committed by
Konstantin Pastbin
parent
416b8ab95a
commit
4117cca562
@@ -4,7 +4,9 @@ set(FT_DISABLE_HARFBUZZ ON)
|
|||||||
add_subdirectory(freetype)
|
add_subdirectory(freetype)
|
||||||
|
|
||||||
# Fix warning with ONE_PIXEL macro clash.
|
# Fix warning with ONE_PIXEL macro clash.
|
||||||
target_compile_options(freetype PRIVATE -Wno-macro-redefined)
|
if(NOT MSVC)
|
||||||
|
target_compile_options(freetype PRIVATE -Wno-macro-redefined)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Use ft2build.h from the current directory instead of the default.
|
# Use ft2build.h from the current directory instead of the default.
|
||||||
target_include_directories(freetype
|
target_include_directories(freetype
|
||||||
|
|||||||
@@ -11,14 +11,23 @@ target_include_directories(${PROJECT_NAME}
|
|||||||
harfbuzz/src
|
harfbuzz/src
|
||||||
)
|
)
|
||||||
|
|
||||||
# Keep these settigns in sync with xcode/harfbuzz project.
|
if (MSVC)
|
||||||
target_compile_options(${PROJECT_NAME}
|
target_compile_options(${PROJECT_NAME}
|
||||||
PRIVATE
|
PRIVATE
|
||||||
-fno-rtti
|
/GR-
|
||||||
-fno-exceptions
|
/EHsc-
|
||||||
-fno-threadsafe-statics
|
/Zc:threadSafeInit-
|
||||||
$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>>:-Wno-format-pedantic>
|
)
|
||||||
)
|
else()
|
||||||
|
# Keep these settings in sync with xcode/harfbuzz project.
|
||||||
|
target_compile_options(${PROJECT_NAME}
|
||||||
|
PRIVATE
|
||||||
|
-fno-rtti
|
||||||
|
-fno-exceptions
|
||||||
|
-fno-threadsafe-statics
|
||||||
|
$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>>:-Wno-format-pedantic>
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
target_compile_definitions(${PROJECT_NAME}
|
target_compile_definitions(${PROJECT_NAME}
|
||||||
PRIVATE
|
PRIVATE
|
||||||
@@ -28,14 +37,20 @@ target_compile_definitions(${PROJECT_NAME}
|
|||||||
#$<$<BOOL:${APPLE}>:HAVE_CORETEXT>
|
#$<$<BOOL:${APPLE}>:HAVE_CORETEXT>
|
||||||
HAVE_ATEXIT
|
HAVE_ATEXIT
|
||||||
HAVE_GETPAGESIZE
|
HAVE_GETPAGESIZE
|
||||||
HAVE_MMAP
|
|
||||||
HAVE_MPROTECT
|
HAVE_MPROTECT
|
||||||
HAVE_PTHREAD
|
|
||||||
HAVE_SYSCONF
|
HAVE_SYSCONF
|
||||||
HAVE_SYS_MMAN_H
|
|
||||||
HAVE_UNISTD_H
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if (NOT MSVC)
|
||||||
|
target_compile_definitions(${PROJECT_NAME}
|
||||||
|
PRIVATE
|
||||||
|
HAVE_MMAP
|
||||||
|
HAVE_PTHREAD
|
||||||
|
HAVE_SYS_MMAN_H
|
||||||
|
HAVE_UNISTD_H
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
target_link_libraries(${PROJECT_NAME} Freetype::Freetype)
|
target_link_libraries(${PROJECT_NAME} Freetype::Freetype)
|
||||||
|
|
||||||
add_library(harfbuzz::harfbuzz ALIAS harfbuzz)
|
add_library(harfbuzz::harfbuzz ALIAS harfbuzz)
|
||||||
|
|||||||
@@ -172,6 +172,7 @@ add_library(icuuc
|
|||||||
icu/icu4c/source/common/uvector.cpp
|
icu/icu4c/source/common/uvector.cpp
|
||||||
icu/icu4c/source/common/uvectr32.cpp
|
icu/icu4c/source/common/uvectr32.cpp
|
||||||
icu/icu4c/source/common/uvectr64.h
|
icu/icu4c/source/common/uvectr64.h
|
||||||
|
icu/icu4c/source/common/wintz.cpp
|
||||||
icu/icu4c/source/common/wintz.h
|
icu/icu4c/source/common/wintz.h
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ set(SRC
|
|||||||
protobuf/src/google/protobuf/message_lite.cc
|
protobuf/src/google/protobuf/message_lite.cc
|
||||||
protobuf/src/google/protobuf/repeated_field.cc
|
protobuf/src/google/protobuf/repeated_field.cc
|
||||||
protobuf/src/google/protobuf/stubs/atomicops_internals_x86_gcc.cc
|
protobuf/src/google/protobuf/stubs/atomicops_internals_x86_gcc.cc
|
||||||
|
protobuf/src/google/protobuf/stubs/atomicops_internals_x86_msvc.cc
|
||||||
protobuf/src/google/protobuf/stubs/bytestream.cc
|
protobuf/src/google/protobuf/stubs/bytestream.cc
|
||||||
protobuf/src/google/protobuf/stubs/common.cc
|
protobuf/src/google/protobuf/stubs/common.cc
|
||||||
protobuf/src/google/protobuf/stubs/int128.cc
|
protobuf/src/google/protobuf/stubs/int128.cc
|
||||||
|
|||||||
@@ -197,7 +197,7 @@ if (USE_PCH)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Should be on the root level, not in 3party, so tests can get these dependencies.
|
# Should be on the root level, not in 3party, so tests can get these dependencies.
|
||||||
if (PLATFORM_LINUX OR PLATFORM_WIN)
|
if (PLATFORM_LINUX)
|
||||||
find_package(ICU COMPONENTS uc i18n data REQUIRED)
|
find_package(ICU COMPONENTS uc i18n data REQUIRED)
|
||||||
find_package(Freetype REQUIRED)
|
find_package(Freetype REQUIRED)
|
||||||
find_package(harfbuzz REQUIRED)
|
find_package(harfbuzz REQUIRED)
|
||||||
|
|||||||
@@ -108,7 +108,9 @@ omim_add_library(${PROJECT_NAME} ${SRC})
|
|||||||
|
|
||||||
# Exception for some of our math to work reliably.
|
# Exception for some of our math to work reliably.
|
||||||
# Ubuntu x86_64 gcc 14.2.0 ignores -fno-finite-math-only in debug builds without -O1
|
# Ubuntu x86_64 gcc 14.2.0 ignores -fno-finite-math-only in debug builds without -O1
|
||||||
set_source_files_properties(fast_math.cpp PROPERTIES COMPILE_OPTIONS "-fno-finite-math-only;$<$<CONFIG:DEBUG>:-O1>")
|
if (NOT MSVC)
|
||||||
|
set_source_files_properties(fast_math.cpp PROPERTIES COMPILE_OPTIONS "-fno-finite-math-only;$<$<CONFIG:DEBUG>:-O1>")
|
||||||
|
endif()
|
||||||
|
|
||||||
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
||||||
find_package(Threads REQUIRED)
|
find_package(Threads REQUIRED)
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ elseif(${PLATFORM_ANDROID})
|
|||||||
)
|
)
|
||||||
else() # neither iPhone nor Android
|
else() # neither iPhone nor Android
|
||||||
# Find bash first, on Windows it can be either in Git or in WSL
|
# Find bash first, on Windows it can be either in Git or in WSL
|
||||||
find_program(BASH bash REQUIRED)
|
find_program(BASH bash REQUIRED HINTS "$ENV{ProgramFiles}/Git/bin")
|
||||||
# Generate version header file.
|
# Generate version header file.
|
||||||
execute_process(COMMAND "${BASH}" tools/unix/version.sh qt_version
|
execute_process(COMMAND "${BASH}" tools/unix/version.sh qt_version
|
||||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||||
|
|||||||
Reference in New Issue
Block a user