Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 5 additions & 11 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ if(NOT CMAKE_BUILD_TYPE)
message(STATUS "CMAKE_BUILD_TYPE not set, defaulting to MinSizeRel.")
endif()

set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" "${CMAKE_SOURCE_DIR}/cmake")
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")

include (get_version)
include(get_version)
project(pdcurses VERSION "${CURSES_VERSION}" LANGUAGES C)

if(MSVC)
Expand Down Expand Up @@ -47,35 +47,29 @@ elseif(PDC_DOSVT_BUILD) # currently requires a unique toolchain file
elseif(PDC_OS2_BUILD) # currently requires a unique toolchain file

add_subdirectory(os2)

else()

add_subdirectory(ncurses)

if(PDC_SDL2_BUILD)

add_subdirectory(sdl2)

endif()

if(PDC_GL_BUILD)

add_subdirectory(gl)

endif()

if(UNIX)
add_subdirectory(vt)
endif()

if(WIN32)

add_subdirectory(wincon)
add_subdirectory(wingui)
add_subdirectory(vt)

endif()

endif()

add_custom_target(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_SOURCE_DIR}/cmake/make_uninstall.cmake")
Expand Down
2 changes: 1 addition & 1 deletion cmake/build_dependencies.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ IF (PDC_SDL2_DEPS_BUILD)
GIT_TAG "release-${SDL2_TTF_RELEASE}"
GIT_SHALLOW true
PATCH_COMMAND cmake -E copy
${CMAKE_SOURCE_DIR}/cmake/sdl2_ttf/CMakeLists.txt
${CMAKE_CURRENT_LIST_DIR}/sdl2_ttf/CMakeLists.txt
${CMAKE_BINARY_DIR}/sdl2_ttf/CMakeLists.txt
UPDATE_COMMAND ""
DOWNLOAD_DIR ${CMAKE_BINARY_DIR}
Expand Down
4 changes: 2 additions & 2 deletions cmake/dll_version.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,5 @@ endif()

set(PRODUCT_FILE_DESCRIPTION "${PRODUCT_FILE_DESCRIPTION} ${TOOL_NAME} ${TARGET_ARCH}")

configure_file ( ${CMAKE_SOURCE_DIR}/cmake/version.in.cmake ${CMAKE_CURRENT_BINARY_DIR}/version.rc @ONLY )
configure_file ( ${CMAKE_SOURCE_DIR}/cmake/resource.in.cmake ${CMAKE_CURRENT_BINARY_DIR}/resource.h @ONLY )
configure_file ( ${CMAKE_CURRENT_LIST_DIR}/version.in.cmake ${CMAKE_CURRENT_BINARY_DIR}/version.rc @ONLY )
configure_file ( ${CMAKE_CURRENT_LIST_DIR}/resource.in.cmake ${CMAKE_CURRENT_BINARY_DIR}/resource.h @ONLY )
2 changes: 1 addition & 1 deletion cmake/get_version.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

file(READ ${CMAKE_SOURCE_DIR}/curses.h _CURSES_H_CONTENTS)
file(READ ${CMAKE_CURRENT_SOURCE_DIR}/curses.h _CURSES_H_CONTENTS)

string(REGEX MATCH "#define PDC_VER_MAJOR ([a-zA-Z0-9_]+)" PDC_VER_MAJOR "${_CURSES_H_CONTENTS}")
string(REPLACE "#define PDC_VER_MAJOR " "" PDC_VER_MAJOR "${PDC_VER_MAJOR}")
Expand Down
47 changes: 22 additions & 25 deletions cmake/project_common.cmake
Original file line number Diff line number Diff line change
@@ -1,24 +1,22 @@
message(STATUS "**** ${PROJECT_NAME} ****")

set(PDCURSES_SRCDIR ${CMAKE_SOURCE_DIR})
set(PDCURSES_DIST ${CMAKE_INSTALL_PREFIX}/${CMAKE_BUILD_TYPE})

set(osdir ${PDCURSES_SRCDIR}/${PROJECT_NAME})
set(demodir ${PDCURSES_SRCDIR}/demos)

set(pdc_src_files
${osdir}/pdcclip.c
${osdir}/pdcdisp.c
${osdir}/pdcgetsc.c
${osdir}/pdckbd.c
${osdir}/pdcscrn.c
${osdir}/pdcsetsc.c
${osdir}/pdcutil.c
pdcclip.c
pdcdisp.c
pdcgetsc.c
pdckbd.c
pdcscrn.c
pdcsetsc.c
pdcutil.c
)

include_directories (..)
include_directories (${osdir})

if(NOT TARGET pdcurses_include_dirs)
add_library(pdcurses_include_dirs INTERFACE)
target_include_directories(pdcurses_include_dirs SYSTEM INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>)
target_include_directories(pdcurses_include_dirs INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
endif()

if(WIN32 AND NOT WATCOM)
include(dll_version)
Expand Down Expand Up @@ -84,19 +82,17 @@ if(PDC_BUILD_SHARED)
set_target_properties(${PDCURSE_PROJ} PROPERTIES MACOSX_RPATH 1)
endif()

target_link_libraries(${PDCURSE_PROJ} PRIVATE ${EXTRA_LIBS})

if(${PROJECT_NAME} STREQUAL "sdl2")
if(PDC_WIDE OR PDC_UTF8)
target_link_libraries(${PDCURSE_PROJ} ${EXTRA_LIBS}
${SDL2_LIBRARIES} ${SDL2_TTF_LIBRARY} ${FT2_LIBRARY} ${ZLIB_LIBRARY}
${SDL2_DEP_LIBRARIES})
target_link_libraries(${PDCURSE_PROJ} PRIVATE ${SDL2_LIBRARIES} ${SDL2_TTF_LIBRARY}
${FT2_LIBRARY} ${ZLIB_LIBRARY} ${SDL2_DEP_LIBRARIES})
else()
target_link_libraries(${PDCURSE_PROJ} ${EXTRA_LIBS}
${SDL2_LIBRARIES} ${SDL2_DEP_LIBRARIES})
target_link_libraries(${PDCURSE_PROJ} PRIVATE ${SDL2_LIBRARIES} ${SDL2_DEP_LIBRARIES})
endif()
elseif((${PROJECT_NAME} STREQUAL "wincon") OR (${PROJECT_NAME} STREQUAL "wingui"))
target_link_libraries(${PDCURSE_PROJ} ${EXTRA_LIBS} ${WINCON_WINGUI_DEP_LIBS})
else()
target_link_libraries(${PDCURSE_PROJ} ${EXTRA_LIBS})
target_link_libraries(${PDCURSE_PROJ} PRIVATE ${WINCON_WINGUI_DEP_LIBS})
endif()

install(TARGETS ${PDCURSE_PROJ}
Expand All @@ -111,6 +107,8 @@ else()
set_target_properties(${PDCURSE_PROJ} PROPERTIES OUTPUT_NAME "pdcursesstatic")
endif()

target_link_libraries(${PDCURSE_PROJ} PUBLIC pdcurses_include_dirs)

macro (demo_app dir targ)
set(bin_name "${PROJECT_NAME}_${targ}")
if(${targ} STREQUAL "tuidemo")
Expand All @@ -121,10 +119,9 @@ macro (demo_app dir targ)

add_executable(${bin_name} ${ARGV2} ${src_files})

target_link_libraries(${bin_name} PRIVATE ${PDCURSE_PROJ} ${EXTRA_LIBS})
if((${PROJECT_NAME} STREQUAL "wincon") OR (${PROJECT_NAME} STREQUAL "wingui"))
target_link_libraries(${bin_name} ${PDCURSE_PROJ} ${EXTRA_LIBS} ${WINCON_WINGUI_DEP_LIBS})
else()
target_link_libraries(${bin_name} ${PDCURSE_PROJ} ${EXTRA_LIBS})
target_link_libraries(${bin_name} PRIVATE ${WINCON_WINGUI_DEP_LIBS})
endif()

add_dependencies(${bin_name} ${PDCURSE_PROJ})
Expand Down
8 changes: 4 additions & 4 deletions cmake/sdl2_ttf/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ PROJECT (sdl2_ttf VERSION ${SDL2_TTF_RELEASE} LANGUAGES C)

if(MSVC)
SET(CMAKE_DEBUG_POSTFIX d)
endif()
endif()

INCLUDE_DIRECTORIES(
${ZLIB_INCLUDE_DIR}
Expand All @@ -28,7 +28,7 @@ set(SDL2_ttf_source_files SDL_ttf.c)

IF(WIN32)
LIST(INSERT SDL2_ttf_source_files 0 version.rc)
ENDIF()
ENDIF()

if (APPLE)
find_library(COREVIDEO CoreVideo)
Expand Down Expand Up @@ -84,11 +84,11 @@ INSTALL (TARGETS SDL2_ttf
LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib
COMPONENT libraries)

ADD_EXECUTABLE (showfont ${CMAKE_SOURCE_DIR}/showfont.c)
ADD_EXECUTABLE (showfont ${PROJECT_SOURCE_DIR}/showfont.c)
TARGET_LINK_LIBRARIES (showfont SDL2_ttf ${SDL2_LIBRARIES} ${FT2_LIBRARY} ${ZLIB_LIBRARY} ${EXTRA_LIBS})
INSTALL (TARGETS showfont RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin COMPONENT applications)

ADD_EXECUTABLE (glfont ${CMAKE_SOURCE_DIR}/glfont.c)
ADD_EXECUTABLE (glfont ${PROJECT_SOURCE_DIR}/glfont.c)
TARGET_LINK_LIBRARIES (glfont SDL2_ttf ${SDL2_LIBRARIES} ${FT2_LIBRARY} ${ZLIB_LIBRARY} ${EXTRA_LIBS})
INSTALL (TARGETS glfont RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin COMPONENT applications)

Expand Down
4 changes: 2 additions & 2 deletions gl/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ macro (gl_app dir targ)
add_executable(${bin_name} ${src_files})
endif()

target_link_libraries(${bin_name} ${PDCURSE_PROJ} ${EXTRA_LIBS}
target_link_libraries(${bin_name} PUBLIC ${PDCURSE_PROJ} ${EXTRA_LIBS}
"${SDL2_LIBRARIES};${SDL2_TTF_LIBRARY};${FT2_LIBRARY};${ZLIB_LIBRARY};${SDL2_DEP_LIBRARIES}")

add_dependencies(${bin_name} ${PDCURSE_PROJ})
Expand All @@ -59,7 +59,7 @@ gl_app(../demos xmas)

if(PDC_SDL2_DEPS_BUILD)
add_dependencies(${PDCURSE_PROJ} sdl2_ext sdl2_ttf_ext)
target_link_libraries(${PDCURSE_PROJ} ${EXTRA_LIBS} "${SDL2_LIBRARIES};${SDL2_TTF_LIBRARY};${FT2_LIBRARY};${ZLIB_LIBRARY};${SDL2_DEP_LIBRARIES}")
target_link_libraries(${PDCURSE_PROJ} PUBLIC ${EXTRA_LIBS} "${SDL2_LIBRARIES};${SDL2_TTF_LIBRARY};${FT2_LIBRARY};${ZLIB_LIBRARY};${SDL2_DEP_LIBRARIES}")
target_include_directories(${PDCURSE_PROJ} PUBLIC ${SDL2_INCLUDE_DIR} ${SDL2_TTF_INCLUDE_DIR})
endif()

Expand Down
2 changes: 1 addition & 1 deletion ncurses/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ if(CURSES_FOUND)
endif()

target_include_directories(${bin_name} PUBLIC ${CURSES_INCLUDE_DIR})
target_link_libraries(${bin_name} ${CURSES_LIBRARIES})
target_link_libraries(${bin_name} PUBLIC ${CURSES_LIBRARIES})
set_target_properties(${bin_name} PROPERTIES OUTPUT_NAME ${targ})

install(TARGETS ${bin_name} RUNTIME DESTINATION ${PDCURSES_DIST}/bin/${PROJECT_NAME} COMPONENT applications)
Expand Down
4 changes: 2 additions & 2 deletions sdl2/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,10 @@ macro (sdl2_app dir targ)
endif()

if(PDC_WIDE OR PDC_UTF8)
target_link_libraries(${bin_name} ${PDCURSE_PROJ} ${EXTRA_LIBS}
target_link_libraries(${bin_name} PUBLIC ${PDCURSE_PROJ} ${EXTRA_LIBS}
"${SDL2_LIBRARIES};${SDL2_TTF_LIBRARY};${FT2_LIBRARY};${ZLIB_LIBRARY};${SDL2_DEP_LIBRARIES}")
else()
target_link_libraries(${bin_name} ${PDCURSE_PROJ} ${EXTRA_LIBS}
target_link_libraries(${bin_name} PUBLIC ${PDCURSE_PROJ} ${EXTRA_LIBS}
"${SDL2_LIBRARIES};${SDL2_TTF_DEP_LIBRARIES};${SDL2_DEP_LIBRARIES}")
endif()

Expand Down