set CMAKE_LINK_WHAT_YOU_USE to ON #1300

This commit is contained in:
nick black 2021-01-18 17:37:17 -05:00
parent 05193af667
commit c1ea096d31
No known key found for this signature in database
GPG Key ID: 5F43400C21CBFACC
3 changed files with 9 additions and 6 deletions

View File

@ -9,6 +9,9 @@ set(CMAKE_C_STANDARD 11)
set(CMAKE_C_VISIBILITY_PRESET hidden) set(CMAKE_C_VISIBILITY_PRESET hidden)
set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_VISIBILITY_PRESET hidden) set(CMAKE_CXX_VISIBILITY_PRESET hidden)
# Passes -Wl,-no-as-needed to linker steps, necessary to reliably link
# libnotcurses.so into executables...for now. This is grotesque. FIXME
set(CMAKE_LINK_WHAT_YOU_USE ON)
include(CTest) include(CTest)
include(GNUInstallDirs) include(GNUInstallDirs)
@ -582,15 +585,15 @@ target_include_directories(ncls
include include
"${PROJECT_BINARY_DIR}/include" "${PROJECT_BINARY_DIR}/include"
) )
target_link_libraries(ncls tarGET_Link_libraries(ncls
PRIVATE PRIVATE
notcurses++ notcurses
) )
############################################################################ ############################################################################
# ncplayer # ncplayer
file(GLOB VIEWSRCS CONFIGURE_DEPENDS src/view/*.cpp) file(GLOB PLAYERSRCS CONFIGURE_DEPENDS src/player/*.cpp)
add_executable(ncplayer ${VIEWSRCS} ${COMPATSRC}) add_executable(ncplayer ${PLAYERSRCS} ${COMPATSRC})
target_include_directories(ncplayer target_include_directories(ncplayer
PRIVATE PRIVATE
include include

View File

@ -41,7 +41,7 @@ typedef struct ncvisual_details {
#define IMGALLOCALIGN 32 #define IMGALLOCALIGN 32
static void inject_implementation(void) __attribute__ ((constructor)); void inject_implementation(void) __attribute__ ((constructor));
/*static void /*static void
print_frame_summary(const AVCodecContext* cctx, const AVFrame* f) { print_frame_summary(const AVCodecContext* cctx, const AVFrame* f) {
@ -583,7 +583,7 @@ const static ncvisual_implementation ffmpeg_impl = {
.canopen_videos = true, .canopen_videos = true,
}; };
static void inject_implementation(void){ void inject_implementation(void){
notcurses_set_ncvisual_implementation(&ffmpeg_impl); notcurses_set_ncvisual_implementation(&ffmpeg_impl);
} }