diff --git a/CMakeLists.txt b/CMakeLists.txt index 17a8820..71ba9a2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -108,18 +108,25 @@ add_definitions(-DFT2_BUILD_LIBRARY) # Specify library include directories include_directories("${PROJECT_SOURCE_DIR}/include") -# Create the configuration file -message(STATUS "Creating directory, ${PROJECT_BINARY_DIR}/include/freetype2.") -file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/include/freetype2) +# Find dependencies +find_package(BZip2) # For the auto-generated ftconfig.h file -include_directories(BEFORE "${PROJECT_BINARY_DIR}/include/freetype2") -message(STATUS "Creating ${PROJECT_BINARY_DIR}/include/freetype2/ftconfig.h.") -execute_process( - COMMAND sed -e "s/FT_CONFIG_OPTIONS_H//" -e "s/FT_CONFIG_STANDARD_LIBRARY_H//" -e "s?/undef ?#undef ?" - INPUT_FILE ${PROJECT_SOURCE_DIR}/builds/unix/ftconfig.in - OUTPUT_FILE ${PROJECT_BINARY_DIR}/include/freetype2/ftconfig.h -) +if(UNIX) + message(STATUS "Creating ${PROJECT_SOURCE_DIR}/include/config/ftconfig.h.") + execute_process( + COMMAND sed -e "s/FT_CONFIG_OPTIONS_H//" -e "s/FT_CONFIG_STANDARD_LIBRARY_H//" -e "s?/undef ?#undef ?" + INPUT_FILE ${PROJECT_SOURCE_DIR}/builds/unix/ftconfig.in + OUTPUT_FILE ${PROJECT_SOURCE_DIR}/include/config/ftconfig.h + ) +else(UNIX) + message(STATUS "Creating ${PROJECT_SOURCE_DIR}/include/config/ftoption.h.") + file(READ ${PROJECT_SOURCE_DIR}/include/config/ftoption.in FILE_CONTENT) + if(BZIP2_FOUND) + string(REPLACE "/* #define FT_CONFIG_OPTION_USE_BZIP2 */" "#define FT_CONFIG_OPTION_USE_BZIP2" FILE_CONTENT "${FILE_CONTENT}") + endif(BZIP2_FOUND) + file(WRITE ${PROJECT_SOURCE_DIR}/include/config/ftoption.h "${FILE_CONTENT}") +endif(UNIX) file(GLOB PUBLIC_HEADERS "include/*.h") file(GLOB PUBLIC_CONFIG_HEADERS "include/config/*.h") @@ -128,13 +135,13 @@ file(GLOB PRIVATE_HEADERS "include/internal/*.h") set(BASE_SRCS src/autofit/autofit.c src/base/ftadvanc.c + src/base/ftbase.c src/base/ftbbox.c src/base/ftbdf.c src/base/ftbitmap.c src/base/ftcalc.c src/base/ftcid.c src/base/ftdbgmem.c - src/base/ftdebug.c src/base/ftfstype.c src/base/ftgasp.c src/base/ftgloadr.c @@ -179,6 +186,11 @@ set(BASE_SRCS src/type42/type42.c src/winfonts/winfnt.c ) +if(WIN32) + set(BASE_SRCS ${BASE_SRCS} builds/windows/ftdebug.c) +else(WIN32) + set(BASE_SRCS ${BASE_SRCS} src/base/ftdebug.c) +endif(WIN32) include_directories("src/truetype") include_directories("src/sfnt") @@ -202,6 +214,14 @@ add_library(freetype ${BASE_SRCS} ) +if(MSVC) + set_target_properties(freetype PROPERTIES COMPILE_FLAGS /Fd"$(IntDir)$(TargetName).pdb") +endif(MSVC) +if(BZIP2_FOUND) + target_link_libraries(freetype ${BZIP2_LIBRARIES}) + include_directories(BZIP2_INCLUDE_DIR) +endif(BZIP2_FOUND) + if (BUILD_FRAMEWORK) set_property(SOURCE ${PUBLIC_CONFIG_HEADERS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/config