mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-01-10 01:48:00 +00:00
b567c9b2b5
This aims to be a reasonably exhaustive test of what happens if you set Conf values to various things, and then save your session, and find out what ends up in the storage. Or vice versa. Currently, the test program is written to match the existing behaviour. The idea is that I can refactor the code that does the loading and saving, and if this test still passes, I've probably done it right. However, in the long term, this test will be a liability: it's yet another place you have to add every new config option. So my plan is to get rid of it again once the refactorings I'm planning are finished. Or rather, I'll get rid of _that_ part of its functionality. I also suspect I'll have added new kinds of consistency check by then, which won't be a liability in the same way, and which I'll want to keep.
249 lines
7.3 KiB
CMake
249 lines
7.3 KiB
CMake
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
|
|
|
add_sources_from_current_dir(utils
|
|
utils/arm_arch_queries.c
|
|
utils/block_signal.c
|
|
utils/cloexec.c
|
|
utils/dputs.c
|
|
utils/filename.c
|
|
utils/fontspec.c
|
|
utils/getticks.c
|
|
utils/get_username.c
|
|
utils/keysym_to_unicode.c
|
|
utils/make_dir_and_check_ours.c
|
|
utils/make_dir_path.c
|
|
utils/make_spr_sw_abort_errno.c
|
|
utils/nonblock.c
|
|
utils/open_for_write_would_lose_data.c
|
|
utils/pgp_fingerprints.c
|
|
utils/pollwrap.c
|
|
utils/signal.c
|
|
utils/x11_ignore_error.c
|
|
# We want the ISO C implementation of ltime(), because we don't have
|
|
# a local better alternative
|
|
../utils/ltime.c)
|
|
# Compiled icon pixmap files
|
|
add_library(puttyxpms STATIC
|
|
putty-xpm.c
|
|
putty-config-xpm.c)
|
|
add_library(ptermxpms STATIC
|
|
pterm-xpm.c
|
|
pterm-config-xpm.c)
|
|
add_sources_from_current_dir(eventloop
|
|
cliloop.c uxsel.c)
|
|
add_sources_from_current_dir(console
|
|
console.c)
|
|
add_sources_from_current_dir(settings
|
|
storage.c)
|
|
add_sources_from_current_dir(network
|
|
network.c fd-socket.c agent-socket.c peerinfo.c local-proxy.c x11.c)
|
|
add_sources_from_current_dir(sshcommon
|
|
noise.c)
|
|
add_sources_from_current_dir(sshclient
|
|
gss.c agent-client.c sharing.c)
|
|
add_sources_from_current_dir(sshserver
|
|
sftpserver.c procnet.c)
|
|
add_sources_from_current_dir(sftpclient
|
|
sftp.c)
|
|
add_sources_from_current_dir(otherbackends
|
|
serial.c)
|
|
add_sources_from_current_dir(agent
|
|
agent-client.c)
|
|
|
|
add_executable(fuzzterm
|
|
${CMAKE_SOURCE_DIR}/test/fuzzterm.c
|
|
${CMAKE_SOURCE_DIR}/stubs/no-print.c
|
|
unicode.c
|
|
no-gtk.c
|
|
$<TARGET_OBJECTS:logging>)
|
|
be_list(fuzzterm FuZZterm)
|
|
add_dependencies(fuzzterm generated_licence_h)
|
|
target_link_libraries(fuzzterm
|
|
guiterminal eventloop charset settings utils)
|
|
|
|
add_executable(osxlaunch
|
|
osxlaunch.c)
|
|
|
|
add_sources_from_current_dir(plink no-gtk.c)
|
|
add_sources_from_current_dir(pscp no-gtk.c)
|
|
add_sources_from_current_dir(psftp no-gtk.c)
|
|
add_sources_from_current_dir(psocks no-gtk.c)
|
|
|
|
add_executable(psusan
|
|
psusan.c
|
|
${CMAKE_SOURCE_DIR}/stubs/no-gss.c
|
|
${CMAKE_SOURCE_DIR}/ssh/scpserver.c
|
|
no-gtk.c
|
|
pty.c)
|
|
be_list(psusan psusan)
|
|
target_link_libraries(psusan
|
|
eventloop sshserver keygen settings network crypto utils)
|
|
installed_program(psusan)
|
|
|
|
add_library(puttygen-common OBJECT
|
|
${CMAKE_SOURCE_DIR}/stubs/no-timing.c
|
|
keygen-noise.c
|
|
no-gtk.c
|
|
noise.c
|
|
storage.c
|
|
${CMAKE_SOURCE_DIR}/sshpubk.c
|
|
${CMAKE_SOURCE_DIR}/sshrand.c)
|
|
|
|
add_executable(puttygen
|
|
${CMAKE_SOURCE_DIR}/cmdgen.c
|
|
$<TARGET_OBJECTS:puttygen-common>)
|
|
target_link_libraries(puttygen keygen console crypto utils)
|
|
installed_program(puttygen)
|
|
|
|
add_executable(cgtest
|
|
${CMAKE_SOURCE_DIR}/cgtest.c
|
|
$<TARGET_OBJECTS:puttygen-common>)
|
|
target_link_libraries(cgtest keygen console crypto utils)
|
|
|
|
add_executable(testsc
|
|
${CMAKE_SOURCE_DIR}/test/testsc.c)
|
|
target_link_libraries(testsc keygen crypto utils)
|
|
|
|
add_executable(testzlib
|
|
${CMAKE_SOURCE_DIR}/test/testzlib.c
|
|
${CMAKE_SOURCE_DIR}/ssh/zlib.c)
|
|
target_link_libraries(testzlib utils)
|
|
|
|
add_executable(uppity
|
|
uppity.c
|
|
${CMAKE_SOURCE_DIR}/ssh/scpserver.c
|
|
no-gtk.c
|
|
pty.c
|
|
${CMAKE_SOURCE_DIR}/stubs/no-gss.c)
|
|
be_list(uppity Uppity)
|
|
target_link_libraries(uppity
|
|
eventloop sshserver keygen settings network crypto utils)
|
|
|
|
if(GTK_FOUND)
|
|
add_sources_from_current_dir(utils
|
|
utils/align_label_left.c
|
|
utils/buildinfo_gtk_version.c
|
|
utils/get_label_text_dimensions.c
|
|
utils/get_x11_display.c
|
|
utils/our_dialog.c
|
|
utils/string_width.c
|
|
columns.c)
|
|
add_sources_from_current_dir(guiterminal
|
|
window.c unifont.c dialog.c config-gtk.c gtk-common.c config-unix.c unicode.c printing.c)
|
|
add_dependencies(guiterminal generated_licence_h) # dialog.c uses licence.h
|
|
|
|
add_executable(pterm
|
|
pterm.c
|
|
main-gtk-simple.c
|
|
${CMAKE_SOURCE_DIR}/stubs/no-gss.c
|
|
${CMAKE_SOURCE_DIR}/stubs/no-ca-config.c
|
|
${CMAKE_SOURCE_DIR}/stubs/no-console.c
|
|
${CMAKE_SOURCE_DIR}/proxy/nosshproxy.c
|
|
pty.c)
|
|
be_list(pterm pterm)
|
|
target_link_libraries(pterm
|
|
guiterminal eventloop settings charset utils ptermxpms
|
|
${GTK_LIBRARIES} ${X11_LIBRARIES})
|
|
installed_program(pterm)
|
|
|
|
if(GTK_VERSION GREATER_EQUAL 3)
|
|
add_executable(ptermapp
|
|
pterm.c
|
|
main-gtk-application.c
|
|
${CMAKE_SOURCE_DIR}/stubs/no-cmdline.c
|
|
${CMAKE_SOURCE_DIR}/stubs/no-gss.c
|
|
${CMAKE_SOURCE_DIR}/stubs/no-ca-config.c
|
|
${CMAKE_SOURCE_DIR}/stubs/no-console.c
|
|
${CMAKE_SOURCE_DIR}/proxy/nosshproxy.c
|
|
pty.c)
|
|
be_list(ptermapp pterm)
|
|
target_link_libraries(ptermapp
|
|
guiterminal eventloop settings charset utils ptermxpms
|
|
${GTK_LIBRARIES} ${X11_LIBRARIES})
|
|
endif()
|
|
|
|
add_executable(putty
|
|
putty.c
|
|
main-gtk-simple.c
|
|
${CMAKE_SOURCE_DIR}/stubs/no-console.c)
|
|
be_list(putty PuTTY SSH SERIAL OTHERBACKENDS)
|
|
target_link_libraries(putty
|
|
guiterminal eventloop sshclient otherbackends settings
|
|
network crypto charset utils puttyxpms
|
|
${GTK_LIBRARIES} ${X11_LIBRARIES})
|
|
set_target_properties(putty
|
|
PROPERTIES LINK_INTERFACE_MULTIPLICITY 2)
|
|
installed_program(putty)
|
|
|
|
if(GTK_VERSION GREATER_EQUAL 3)
|
|
add_executable(puttyapp
|
|
putty.c
|
|
main-gtk-application.c
|
|
${CMAKE_SOURCE_DIR}/stubs/no-cmdline.c
|
|
${CMAKE_SOURCE_DIR}/stubs/no-console.c)
|
|
be_list(puttyapp PuTTY SSH SERIAL OTHERBACKENDS)
|
|
target_link_libraries(puttyapp
|
|
guiterminal eventloop sshclient otherbackends settings
|
|
network crypto charset utils puttyxpms
|
|
${GTK_LIBRARIES} ${X11_LIBRARIES})
|
|
endif()
|
|
|
|
add_executable(puttytel
|
|
putty.c
|
|
main-gtk-simple.c
|
|
${CMAKE_SOURCE_DIR}/stubs/no-gss.c
|
|
${CMAKE_SOURCE_DIR}/stubs/no-ca-config.c
|
|
${CMAKE_SOURCE_DIR}/stubs/no-console.c
|
|
${CMAKE_SOURCE_DIR}/stubs/no-rand.c
|
|
${CMAKE_SOURCE_DIR}/proxy/nocproxy.c
|
|
${CMAKE_SOURCE_DIR}/proxy/nosshproxy.c)
|
|
be_list(puttytel PuTTYtel SERIAL OTHERBACKENDS)
|
|
target_link_libraries(puttytel
|
|
guiterminal eventloop otherbackends settings network charset utils
|
|
puttyxpms
|
|
${GTK_LIBRARIES} ${X11_LIBRARIES})
|
|
|
|
add_executable(test_lineedit
|
|
${CMAKE_SOURCE_DIR}/test/test_lineedit.c
|
|
${CMAKE_SOURCE_DIR}/stubs/no-gss.c
|
|
${CMAKE_SOURCE_DIR}/stubs/no-logging.c
|
|
${CMAKE_SOURCE_DIR}/stubs/no-printing.c
|
|
${CMAKE_SOURCE_DIR}/stubs/no-storage.c
|
|
${CMAKE_SOURCE_DIR}/stubs/no-timing.c)
|
|
target_link_libraries(test_lineedit
|
|
guiterminal settings eventloop charset utils ${platform_libraries})
|
|
|
|
add_executable(test_terminal
|
|
${CMAKE_SOURCE_DIR}/test/test_terminal.c
|
|
${CMAKE_SOURCE_DIR}/stubs/no-gss.c
|
|
${CMAKE_SOURCE_DIR}/stubs/no-storage.c
|
|
${CMAKE_SOURCE_DIR}/stubs/no-timing.c)
|
|
target_link_libraries(test_terminal
|
|
guiterminal settings eventloop charset utils ${platform_libraries})
|
|
endif()
|
|
|
|
# Pageant is built whether we have GTK or not; in its absence we
|
|
# degrade to a version that doesn't provide the GTK askpass.
|
|
if(GTK_FOUND)
|
|
set(pageant_conditional_sources askpass.c)
|
|
set(pageant_libs ${GTK_LIBRARIES})
|
|
else()
|
|
set(pageant_conditional_sources noaskpass.c no-gtk.c)
|
|
set(pageant_libs)
|
|
endif()
|
|
add_executable(pageant
|
|
pageant.c
|
|
${CMAKE_SOURCE_DIR}/stubs/no-gss.c
|
|
x11.c
|
|
noise.c
|
|
${CMAKE_SOURCE_DIR}/ssh/x11fwd.c
|
|
${CMAKE_SOURCE_DIR}/proxy/nosshproxy.c
|
|
${pageant_conditional_sources})
|
|
be_list(pageant Pageant)
|
|
target_link_libraries(pageant
|
|
eventloop console agent settings network crypto utils
|
|
${pageant_libs})
|
|
installed_program(pageant)
|
|
|
|
add_sources_from_current_dir(test_conf stubs/no-uxsel.c)
|