11message (STATUS "**** ${PROJECT_NAME} ****" )
22
3- set (PDCURSES_SRCDIR ${CMAKE_SOURCE_DIR} )
43set (PDCURSES_DIST ${CMAKE_INSTALL_PREFIX} /${CMAKE_BUILD_TYPE} )
54
6- set (osdir ${PDCURSES_SRCDIR} /${PROJECT_NAME} )
7- set (demodir ${PDCURSES_SRCDIR} /demos)
8-
95set (pdc_src_files
10- ${osdir} / pdcclip.c
11- ${osdir} / pdcdisp.c
12- ${osdir} / pdcgetsc.c
13- ${osdir} / pdckbd.c
14- ${osdir} / pdcscrn.c
15- ${osdir} / pdcsetsc.c
16- ${osdir} / pdcutil.c
6+ pdcclip.c
7+ pdcdisp.c
8+ pdcgetsc.c
9+ pdckbd.c
10+ pdcscrn.c
11+ pdcsetsc.c
12+ pdcutil.c
1713)
1814
19- include_directories (.. )
20- include_directories (${osdir} )
21-
15+ if (NOT TARGET pdcurses_include_dirs)
16+ add_library (pdcurses_include_dirs INTERFACE )
17+ target_include_directories (pdcurses_include_dirs SYSTEM INTERFACE $<BUILD_INTERFACE :${CMAKE_CURRENT_SOURCE_DIR} /..>)
18+ target_include_directories (pdcurses_include_dirs INTERFACE $<BUILD_INTERFACE :${CMAKE_CURRENT_SOURCE_DIR} >)
19+ endif ()
2220
2321if (WIN32 AND NOT WATCOM)
2422 include (dll_version )
@@ -84,19 +82,17 @@ if(PDC_BUILD_SHARED)
8482 set_target_properties (${PDCURSE_PROJ} PROPERTIES MACOSX_RPATH 1 )
8583 endif ()
8684
85+ target_link_libraries (${PDCURSE_PROJ} PRIVATE ${EXTRA_LIBS} )
86+
8787 if (${PROJECT_NAME} STREQUAL "sdl2" )
8888 if (PDC_WIDE OR PDC_UTF8)
89- target_link_libraries (${PDCURSE_PROJ} ${EXTRA_LIBS}
90- ${SDL2_LIBRARIES} ${SDL2_TTF_LIBRARY} ${FT2_LIBRARY} ${ZLIB_LIBRARY}
91- ${SDL2_DEP_LIBRARIES} )
89+ target_link_libraries (${PDCURSE_PROJ} PRIVATE ${SDL2_LIBRARIES} ${SDL2_TTF_LIBRARY}
90+ ${FT2_LIBRARY} ${ZLIB_LIBRARY} ${SDL2_DEP_LIBRARIES} )
9291 else ()
93- target_link_libraries (${PDCURSE_PROJ} ${EXTRA_LIBS}
94- ${SDL2_LIBRARIES} ${SDL2_DEP_LIBRARIES} )
92+ target_link_libraries (${PDCURSE_PROJ} PRIVATE ${SDL2_LIBRARIES} ${SDL2_DEP_LIBRARIES} )
9593 endif ()
9694 elseif ((${PROJECT_NAME} STREQUAL "wincon" ) OR (${PROJECT_NAME} STREQUAL "wingui" ) OR (${PROJECT_NAME} STREQUAL "vt" ))
97- target_link_libraries (${PDCURSE_PROJ} ${EXTRA_LIBS} ${WINCON_WINGUI_DEP_LIBS} )
98- else ()
99- target_link_libraries (${PDCURSE_PROJ} ${EXTRA_LIBS} )
95+ target_link_libraries (${PDCURSE_PROJ} PRIVATE ${WINCON_WINGUI_DEP_LIBS} )
10096 endif ()
10197
10298 install (TARGETS ${PDCURSE_PROJ}
@@ -111,6 +107,8 @@ else()
111107 set_target_properties (${PDCURSE_PROJ} PROPERTIES OUTPUT_NAME "pdcursesstatic" )
112108endif ()
113109
110+ target_link_libraries (${PDCURSE_PROJ} PUBLIC pdcurses_include_dirs )
111+
114112macro (demo_app dir targ )
115113 set (bin_name "${PROJECT_NAME} _${targ} " )
116114 if (${targ} STREQUAL "tuidemo" )
@@ -121,10 +119,9 @@ macro (demo_app dir targ)
121119
122120 add_executable (${bin_name} ${ARGV2} ${src_files} )
123121
122+ target_link_libraries (${bin_name} PRIVATE ${PDCURSE_PROJ} ${EXTRA_LIBS} )
124123 if ((${PROJECT_NAME} STREQUAL "wincon" ) OR (${PROJECT_NAME} STREQUAL "wingui" ) OR (${PROJECT_NAME} STREQUAL "vt" ))
125- target_link_libraries (${bin_name} ${PDCURSE_PROJ} ${EXTRA_LIBS} ${WINCON_WINGUI_DEP_LIBS} )
126- else ()
127- target_link_libraries (${bin_name} ${PDCURSE_PROJ} ${EXTRA_LIBS} )
124+ target_link_libraries (${bin_name} PRIVATE ${WINCON_WINGUI_DEP_LIBS} )
128125 endif ()
129126
130127 add_dependencies (${bin_name} ${PDCURSE_PROJ} )
0 commit comments