Skip to content

Commit

Permalink
Merge pull request #19087 from santiago046/master
Browse files Browse the repository at this point in the history
Refactor atlas/zimtool CMakeLists.txt
  • Loading branch information
hrydgard committed Apr 29, 2024
2 parents b25ee71 + 6979be0 commit 11112d4
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 34 deletions.
23 changes: 20 additions & 3 deletions ext/libpng17/CMakeLists.txt
@@ -1,6 +1,7 @@
cmake_minimum_required(VERSION 2.6)
cmake_minimum_required(VERSION 3.8)
project(libpng17)

add_library(png17
add_library(png17 STATIC
pngconf.h
pngdebug.h
png.c
Expand All @@ -23,4 +24,20 @@ add_library(png17
pngwio.c
pngwrite.c
pngwtran.c
pngwutil.c)
pngwutil.c
)

# Add arm files for ARM processors
if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "arm(64)?|aarch64")
set (ARM_FILES arm/arm_init.c
)

# Check if it's 32 bit
if("${CMAKE_SIZEOF_VOID_P}" EQUAL 4)
list(APPEND ARM_FILES arm/filter_neon.S)
else()
list(APPEND ARM_FILES arm/filter_neon_intrinsics.c)
endif()

target_sources(png17 PRIVATE ${ARM_FILES})
endif()
60 changes: 29 additions & 31 deletions ext/native/tools/CMakeLists.txt
@@ -1,44 +1,42 @@
cmake_minimum_required(VERSION 2.6)
cmake_minimum_required(VERSION 3.8)
project(Tools)

project (Tools)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

add_definitions(-O2)
add_definitions(-Wall)
add_definitions(-DSDL)
add_definitions(-Wno-multichar)
add_definitions(-fno-strict-aliasing)
#add_definitions(-fopenmp)
add_compile_definitions(SDL MAX_LOGLEVEL=-1)
add_compile_options(-O2 -Wall -Wno-multichar -fno-strict-aliasing)

# Obsolete code?
if(IOS)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libstdc++ -DMAX_LOGLEVEL=-1")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libstdc++")
elseif(APPLE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++ -mmacosx-version-min=10.7 -DMAX_LOGLEVEL=-1")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++ -mmacosx-version-min=10.7")
endif()

if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.7.0)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x -DMAX_LOGLEVEL=-1")
else()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -DMAX_LOGLEVEL=-1")
endif()

# add_definitions(-fstrict-aliasing)
# Find dependencies
find_package(Freetype REQUIRED)
find_package(ZLIB REQUIRED)
find_library(UTIL util REQUIRED)
find_library(ZSTD zstd REQUIRED)

include_directories(..)
include_directories(../..)
include_directories(../../..)
include_directories(${FREETYPE_INCLUDE_DIRS}
../
../../
../../../
)

link_directories(/opt/local/lib)
add_subdirectory(../../libpng17 png17)

# Horrible horrible hack
include_directories(/usr/include/freetype2)
include_directories(/usr/local/include/freetype2)
include_directories(/opt/local/include/freetype2)
include_directories(/opt/local/include)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/build)

add_subdirectory(../../libpng17 png17)
set(COMMON_FILES
../../../Common/Data/Format/PNGLoad.cpp
../../../Common/Data/Format/ZIMSave.cpp
)

add_executable(build/atlastool atlastool.cpp ../../../Common/Data/Format/PNGLoad.cpp ../../../Common/Data/Encoding/Utf8.cpp ../../../Common/Data/Format/ZIMSave.cpp)
target_link_libraries(build/atlastool freetype util png17 z zstd)
# Both executables are linked to the same libraries
link_libraries(${FREETYPE_LIBRARIES} ${UTIL} png17 ${ZLIB_LIBRARIES} ${ZSTD})

add_executable(build/zimtool zimtool.cpp ../../../Common/Data/Format/PNGLoad.cpp ../../../Common/Data/Format/ZIMSave.cpp)
target_link_libraries(build/zimtool freetype util png17 z zstd)
add_executable(atlastool atlastool.cpp ../../../Common/Data/Encoding/Utf8.cpp ${COMMON_FILES})
add_executable(zimtool zimtool.cpp ${COMMON_FILES})

0 comments on commit 11112d4

Please sign in to comment.