diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 00000000..fdf73e0f --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,21 @@ +cmake_minimum_required(VERSION 3.1) + +set(CRUNCH_PROJECT_NAME crunch) +set(CRUNCH_LIBRARY_NAME crn) +set(CRUNCH_EXE_NAME crunch) + +project(${CRUNCH_PROJECT_NAME} ) + +option(BUILD_SHARED_LIBS "Build crunchlib as shared library and link executables against it." OFF) +option(BUILD_EXAMPLES "Build examples." OFF) + +if (BUILD_EXAMPLES) + add_subdirectory(example1) + add_subdirectory(example2) + add_subdirectory(example3) +endif(BUILD_EXAMPLES) + +add_subdirectory(crunch) +add_subdirectory(crnlib) + + diff --git a/crnlib/CMakeLists.txt b/crnlib/CMakeLists.txt new file mode 100644 index 00000000..7c940551 --- /dev/null +++ b/crnlib/CMakeLists.txt @@ -0,0 +1,202 @@ +set(CMAKE_CXX_STANDARD 14) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +include_directories( + ${CMAKE_SOURCE_DIR}/inc +) + +# Defines the source code for the library +set(CRNLIB_SRCS + ${CMAKE_CURRENT_SOURCE_DIR}/crn_arealist.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_arealist.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_assert.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_assert.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_buffer_stream.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_cfile_stream.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_checksum.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_checksum.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_clusterizer.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_color.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_colorized_console.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_colorized_console.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_command_line_params.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_command_line_params.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_comp.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_comp.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_console.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_console.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_core.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_core.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_data_stream.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_data_stream.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_data_stream_serializer.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_dds_comp.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_dds_comp.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_decomp.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_dxt.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_dxt.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_dxt1.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_dxt1.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_dxt5a.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_dxt5a.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_dxt_endpoint_refiner.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_dxt_endpoint_refiner.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_dxt_fast.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_dxt_fast.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_dxt_hc.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_dxt_hc.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_dxt_hc_common.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_dxt_hc_common.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_dxt_image.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_dxt_image.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_dynamic_stream.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_dynamic_string.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_dynamic_string.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_etc.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_etc.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_file_utils.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_file_utils.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_find_files.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_find_files.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_hash.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_hash.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_hash_map.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_hash_map.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_helpers.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_huffman_codes.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_huffman_codes.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_image.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_image_utils.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_image_utils.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_intersect.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_jpgd.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_jpgd.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_jpge.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_jpge.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_ktx_texture.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_ktx_texture.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_lzma_codec.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_lzma_codec.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_math.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_math.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_matrix.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_mem.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_mem.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_miniz.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_miniz.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_mipmapped_texture.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_mipmapped_texture.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_packed_uint.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_pixel_format.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_pixel_format.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_platform.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_platform.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_prefix_coding.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_prefix_coding.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_qdxt1.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_qdxt1.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_qdxt5.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_qdxt5.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_rand.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_rand.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_ray.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_rect.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_resample_filters.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_resample_filters.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_resampler.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_resampler.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_rg_etc1.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_rg_etc1.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_ryg_dxt.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_ryg_dxt.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_ryg_types.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_sparse_array.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_sparse_bit_array.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_sparse_bit_array.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_stb_image.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_strutils.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_strutils.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_symbol_codec.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_symbol_codec.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_texture_comp.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_texture_comp.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_texture_conversion.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_texture_conversion.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_texture_file_types.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_texture_file_types.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_threaded_clusterizer.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_threaded_resampler.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_threaded_resampler.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_threading.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_threading_null.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_timer.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_timer.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_traits.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_tree_clusterizer.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_types.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_utils.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_utils.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_value.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_value.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_vec.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_vec_interval.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_vector.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_vector.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_vector2d.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_winhdr.h + ${CMAKE_CURRENT_SOURCE_DIR}/crnlib.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_7zBuf.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_7zBuf.h + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_7zBuf2.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_7zCrc.h + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_7zFile.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_7zFile.h + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_7zStream.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_7zVersion.h + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_Alloc.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_Alloc.h + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_Bcj2.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_Bcj2.h + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_Bra.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_Bra.h + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_Bra86.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_BraIA64.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_CpuArch.h + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_LzFind.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_LzFind.h + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_LzFindMt.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_LzFindMt.h + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_LzHash.h + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_LzmaDec.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_LzmaDec.h + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_LzmaEnc.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_LzmaEnc.h + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_LzmaLib.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_LzmaLib.h + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_MyVersion.h + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_Threads.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_Threads.h + ${CMAKE_CURRENT_SOURCE_DIR}/lzma_Types.h + ${CMAKE_CURRENT_SOURCE_DIR}/../inc/crn_decomp.h + ${CMAKE_CURRENT_SOURCE_DIR}/../inc/crnlib.h + ${CMAKE_CURRENT_SOURCE_DIR}/../inc/dds_defs.h +) + +if(WIN32) +set(CRNLIB_THREAD_SRCS + ${CMAKE_CURRENT_SOURCE_DIR}/crn_threading_win32.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/crn_threading_win32.h +) +else(WIN32) +set(CRNLIB_THREAD_SRCS + ${CMAKE_CURRENT_SOURCE_DIR}/crn_threading_pthreads.h + ${CMAKE_CURRENT_SOURCE_DIR}/crn_threading_pthreads.cpp +) +endif() + +if (BUILD_SHARED_LIBS) +add_library(${CRUNCH_LIBRARY_NAME} SHARED ${CRNLIB_SRCS} ${CRNLIB_THREAD_SRCS}) +else() +add_library(${CRUNCH_LIBRARY_NAME} STATIC ${CRNLIB_SRCS} ${CRNLIB_THREAD_SRCS}) +endif() + diff --git a/crunch/CMakeLists.txt b/crunch/CMakeLists.txt new file mode 100644 index 00000000..96d5d5a0 --- /dev/null +++ b/crunch/CMakeLists.txt @@ -0,0 +1,21 @@ +set(CMAKE_CXX_STANDARD 14) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +include_directories( + ${CMAKE_SOURCE_DIR}/inc + ${CMAKE_SOURCE_DIR}/crnlib +) + +# Defines the source code for the library +set(CRUNCH_SRCS + ${CMAKE_CURRENT_SOURCE_DIR}/corpus_gen.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/corpus_gen.h + ${CMAKE_CURRENT_SOURCE_DIR}/corpus_test.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/corpus_test.h + ${CMAKE_CURRENT_SOURCE_DIR}/crunch.cpp + +) + + add_executable(${CRUNCH_EXE_NAME} ${CRUNCH_SRCS}) + target_link_libraries(${CRUNCH_EXE_NAME} ${CRUNCH_LIBRARY_NAME}) + diff --git a/example1/CMakeLists.txt b/example1/CMakeLists.txt new file mode 100644 index 00000000..1296aa0d --- /dev/null +++ b/example1/CMakeLists.txt @@ -0,0 +1,18 @@ +set(CMAKE_CXX_STANDARD 14) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +include_directories( + ${CMAKE_SOURCE_DIR}/inc + ${CMAKE_SOURCE_DIR}/crnlib +) + + +# Defines the source code for the library +set(EXAMPLE1_SRCS + ${CMAKE_CURRENT_SOURCE_DIR}/example1.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/stb_image.h +) + + add_executable(example1 ${EXAMPLE1_SRCS}) + target_link_libraries(example1 ${CRUNCH_LIBRARY_NAME}) + diff --git a/example2/CMakeLists.txt b/example2/CMakeLists.txt new file mode 100644 index 00000000..ade10a01 --- /dev/null +++ b/example2/CMakeLists.txt @@ -0,0 +1,19 @@ +set(CMAKE_CXX_STANDARD 14) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +include_directories( + ${CMAKE_SOURCE_DIR}/inc + ${CMAKE_SOURCE_DIR}/crnlib +) + + +# Defines the source code for the library +set(EXAMPLE2_SRCS + ${CMAKE_CURRENT_SOURCE_DIR}/example2.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/timer.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/timer.h +) + + add_executable(example2 ${EXAMPLE2_SRCS}) + target_link_libraries(example2 ${CRUNCH_LIBRARY_NAME}) + diff --git a/example3/CMakeLists.txt b/example3/CMakeLists.txt new file mode 100644 index 00000000..cedef274 --- /dev/null +++ b/example3/CMakeLists.txt @@ -0,0 +1,18 @@ +set(CMAKE_CXX_STANDARD 14) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +include_directories( + ${CMAKE_SOURCE_DIR}/inc + ${CMAKE_SOURCE_DIR}/crnlib +) + + +# Defines the source code for the library +set(EXAMPLE3_SRCS + ${CMAKE_CURRENT_SOURCE_DIR}/example3.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/stb_image.h +) + + add_executable(example3 ${EXAMPLE3_SRCS}) + target_link_libraries(example3 ${CRUNCH_LIBRARY_NAME}) +