CMake: Add benchmarks
Put each benchmark application in a sub-directory instead of specifying all in one file, because cotire cannot create PCH targets for the same file twice (bench.cpp).
This commit is contained in:
parent
7b79423470
commit
9585e08365
12
build/cmake/benchmarks/CMakeLists.txt
Normal file
12
build/cmake/benchmarks/CMakeLists.txt
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#############################################################################
|
||||||
|
# Name: build/cmake/benchmarks/CMakeLists.txt
|
||||||
|
# Purpose: CMake file for benchmarks
|
||||||
|
# Author: Maarten Bent
|
||||||
|
# Created: 2021-02-07
|
||||||
|
# Copyright: (c) 2021 wxWidgets development team
|
||||||
|
# Licence: wxWindows licence
|
||||||
|
#############################################################################
|
||||||
|
|
||||||
|
add_subdirectory(bench)
|
||||||
|
add_subdirectory(bench_graphics)
|
||||||
|
add_subdirectory(bench_gui)
|
34
build/cmake/benchmarks/bench/CMakeLists.txt
Normal file
34
build/cmake/benchmarks/bench/CMakeLists.txt
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
#############################################################################
|
||||||
|
# Name: build/cmake/benchmarks/bench/CMakeLists.txt
|
||||||
|
# Purpose: CMake file for benchmarks
|
||||||
|
# Author: Maarten Bent
|
||||||
|
# Created: 2021-02-07
|
||||||
|
# Copyright: (c) 2021 wxWidgets development team
|
||||||
|
# Licence: wxWindows licence
|
||||||
|
#############################################################################
|
||||||
|
|
||||||
|
set(BENCH_SRC
|
||||||
|
bench.cpp
|
||||||
|
bench.h
|
||||||
|
datetime.cpp
|
||||||
|
htmlparser/htmlpars.cpp
|
||||||
|
htmlparser/htmlpars.h
|
||||||
|
htmlparser/htmltag.cpp
|
||||||
|
htmlparser/htmltag.h
|
||||||
|
ipcclient.cpp
|
||||||
|
log.cpp
|
||||||
|
mbconv.cpp
|
||||||
|
printfbench.cpp
|
||||||
|
strings.cpp
|
||||||
|
tls.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
set(BENCH_DATA
|
||||||
|
htmltest.html
|
||||||
|
)
|
||||||
|
|
||||||
|
wx_add_benchmark(bench CONSOLE ${BENCH_SRC} DATA ${BENCH_DATA})
|
||||||
|
|
||||||
|
if(wxUSE_SOCKETS)
|
||||||
|
wx_exe_link_libraries(bench wxnet)
|
||||||
|
endif()
|
18
build/cmake/benchmarks/bench_graphics/CMakeLists.txt
Normal file
18
build/cmake/benchmarks/bench_graphics/CMakeLists.txt
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
#############################################################################
|
||||||
|
# Name: build/cmake/benchmarks/bench_graphics/CMakeLists.txt
|
||||||
|
# Purpose: CMake file for benchmarks
|
||||||
|
# Author: Maarten Bent
|
||||||
|
# Created: 2021-02-07
|
||||||
|
# Copyright: (c) 2021 wxWidgets development team
|
||||||
|
# Licence: wxWindows licence
|
||||||
|
#############################################################################
|
||||||
|
|
||||||
|
set(BENCH_GRAPGICS_SRC
|
||||||
|
graphics.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
wx_add_benchmark(bench_graphics CONSOLE_GUI ${BENCH_GRAPGICS_SRC})
|
||||||
|
|
||||||
|
if(wxUSE_OPENGL)
|
||||||
|
wx_exe_link_libraries(bench_graphics wxgl)
|
||||||
|
endif()
|
24
build/cmake/benchmarks/bench_gui/CMakeLists.txt
Normal file
24
build/cmake/benchmarks/bench_gui/CMakeLists.txt
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
#############################################################################
|
||||||
|
# Name: build/cmake/benchmarks/bench_gui/CMakeLists.txt
|
||||||
|
# Purpose: CMake file for benchmarks
|
||||||
|
# Author: Maarten Bent
|
||||||
|
# Created: 2021-02-07
|
||||||
|
# Copyright: (c) 2021 wxWidgets development team
|
||||||
|
# Licence: wxWindows licence
|
||||||
|
#############################################################################
|
||||||
|
|
||||||
|
set(BENCH_GUI_SRC
|
||||||
|
bench.cpp
|
||||||
|
bench.h
|
||||||
|
display.cpp
|
||||||
|
image.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
set(IMAGE_DATA
|
||||||
|
../../samples/image/horse.bmp:horse.bmp
|
||||||
|
../../samples/image/horse.jpg:horse.jpg
|
||||||
|
../../samples/image/horse.png:horse.png
|
||||||
|
../../samples/image/horse.tif:horse.tif
|
||||||
|
)
|
||||||
|
|
||||||
|
wx_add_benchmark(bench_gui CONSOLE_GUI ${BENCH_GUI_SRC} DATA ${IMAGE_DATA})
|
@ -605,12 +605,12 @@ function(wx_print_thirdparty_library_summary)
|
|||||||
message(STATUS ${message})
|
message(STATUS ${message})
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
# Add sample, test or demo
|
# Add sample, test, demo or benchmark
|
||||||
# wx_add(<name> <group> [CONSOLE|CONSOLE_GUI|DLL] [IMPORTANT] [SRC_FILES...]
|
# wx_add(<name> <group> [CONSOLE|CONSOLE_GUI|DLL] [IMPORTANT] [SRC_FILES...]
|
||||||
# [LIBRARIES ...] [NAME target_name] [FOLDER folder]
|
# [LIBRARIES ...] [NAME target_name] [FOLDER folder]
|
||||||
# [DATA ...] [DEFINITIONS ...] [RES ...])
|
# [DATA ...] [DEFINITIONS ...] [RES ...])
|
||||||
# name default target name
|
# name default target name
|
||||||
# group can be Samples, Tests or Demos
|
# group can be Samples, Tests, Demos or Benchmarks
|
||||||
# first parameter may be CONSOLE to indicate a console application or DLL to indicate a shared library
|
# first parameter may be CONSOLE to indicate a console application or DLL to indicate a shared library
|
||||||
# or CONSOLE_GUI to indicate a console application that uses gui libraries
|
# or CONSOLE_GUI to indicate a console application that uses gui libraries
|
||||||
# all following parameters are src files for the executable
|
# all following parameters are src files for the executable
|
||||||
@ -640,6 +640,10 @@ function(wx_add_demo name)
|
|||||||
wx_add(${name} "Demos" ${ARGN})
|
wx_add(${name} "Demos" ${ARGN})
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
function(wx_add_benchmark name)
|
||||||
|
wx_add(${name} "Benchmarks" ${ARGN})
|
||||||
|
endfunction()
|
||||||
|
|
||||||
function(wx_add name group)
|
function(wx_add name group)
|
||||||
cmake_parse_arguments(APP
|
cmake_parse_arguments(APP
|
||||||
"CONSOLE;CONSOLE_GUI;DLL;IMPORTANT"
|
"CONSOLE;CONSOLE_GUI;DLL;IMPORTANT"
|
||||||
@ -669,6 +673,9 @@ function(wx_add name group)
|
|||||||
elseif(group STREQUAL Demos)
|
elseif(group STREQUAL Demos)
|
||||||
set(SUB_DIR "demos/${name}")
|
set(SUB_DIR "demos/${name}")
|
||||||
set(DEFAULT_RC_FILE "demos/${name}/${target_name}.rc")
|
set(DEFAULT_RC_FILE "demos/${name}/${target_name}.rc")
|
||||||
|
elseif(group STREQUAL Benchmarks)
|
||||||
|
set(SUB_DIR "tests/benchmarks")
|
||||||
|
set(DEFAULT_RC_FILE "samples/sample.rc")
|
||||||
else()
|
else()
|
||||||
message(WARNING "Unkown group \"${group}\"")
|
message(WARNING "Unkown group \"${group}\"")
|
||||||
return()
|
return()
|
||||||
|
@ -32,6 +32,10 @@ if(wxBUILD_DEMOS)
|
|||||||
add_subdirectory(build/cmake/demos demos)
|
add_subdirectory(build/cmake/demos demos)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(wxBUILD_BENCHMARKS)
|
||||||
|
add_subdirectory(build/cmake/benchmarks benchmarks)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(NOT wxBUILD_CUSTOM_SETUP_HEADER_PATH)
|
if(NOT wxBUILD_CUSTOM_SETUP_HEADER_PATH)
|
||||||
# Write setup.h after all variables are available
|
# Write setup.h after all variables are available
|
||||||
include(build/cmake/setup.cmake)
|
include(build/cmake/setup.cmake)
|
||||||
|
@ -15,6 +15,7 @@ wx_option(wxBUILD_SAMPLES "Build only important samples (SOME) or ALL" OFF
|
|||||||
wx_option(wxBUILD_TESTS "Build console tests (CONSOLE_ONLY) or ALL" OFF
|
wx_option(wxBUILD_TESTS "Build console tests (CONSOLE_ONLY) or ALL" OFF
|
||||||
STRINGS CONSOLE_ONLY ALL OFF)
|
STRINGS CONSOLE_ONLY ALL OFF)
|
||||||
wx_option(wxBUILD_DEMOS "Build demos" OFF)
|
wx_option(wxBUILD_DEMOS "Build demos" OFF)
|
||||||
|
wx_option(wxBUILD_BENCHMARKS "Build benchmarks" OFF)
|
||||||
wx_option(wxBUILD_PRECOMP "Use precompiled headers")
|
wx_option(wxBUILD_PRECOMP "Use precompiled headers")
|
||||||
wx_option(wxBUILD_INSTALL "Create install/uninstall target for wxWidgets")
|
wx_option(wxBUILD_INSTALL "Create install/uninstall target for wxWidgets")
|
||||||
wx_option(wxBUILD_COMPATIBILITY
|
wx_option(wxBUILD_COMPATIBILITY
|
||||||
|
Loading…
Reference in New Issue
Block a user