Skip to content

Commit 94ab2fb

Browse files
committed
Add precompiled header
All modern C++ compiler support precompiled headers, add one to increase build performance.
1 parent e88e420 commit 94ab2fb

24 files changed

+98
-42
lines changed

.editorconfig

+5-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) Team CharLS.
1+
# SPDX-FileCopyrightText: © 2016 Team CharLS
22
# SPDX-License-Identifier: BSD-3-Clause
33

44
root = true
@@ -22,4 +22,7 @@ insert_final_newline = true
2222
indent_size = 2
2323

2424
[*.manifest]
25-
indent_size = 2
25+
indent_size = 2
26+
27+
[*.props, .runsettings]
28+
indent_size = 2

src/CMakeLists.txt

+3
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ if(NOT BUILD_SHARED_LIBS)
3232
target_compile_definitions(charls PUBLIC CHARLS_STATIC)
3333
endif()
3434

35+
target_precompile_headers(charls PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pch.hpp)
36+
3537
# Use different DLL filenames on Windows. It allows platform neutral adapters to load dynamically the correct version.
3638
if(WIN32 AND BUILD_SHARED_LIBS)
3739
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
@@ -128,6 +130,7 @@ target_sources(charls
128130
"${CMAKE_CURRENT_LIST_DIR}/lossless_traits.hpp"
129131
"${CMAKE_CURRENT_LIST_DIR}/make_scan_codec.hpp"
130132
"${CMAKE_CURRENT_LIST_DIR}/make_scan_codec.cpp"
133+
"${CMAKE_CURRENT_LIST_DIR}/pch.hpp"
131134
"${CMAKE_CURRENT_LIST_DIR}/quantization_lut.hpp"
132135
"${CMAKE_CURRENT_LIST_DIR}/quantization_lut.cpp"
133136
"${CMAKE_CURRENT_LIST_DIR}/regular_mode_context.hpp"

src/CharLS.vcxproj

+5-2
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,7 @@
114114
<ClCompile>
115115
<PreprocessorDefinitions>CHARLS_LIBRARY_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
116116
<RuntimeTypeInfo>false</RuntimeTypeInfo>
117-
<PrecompiledHeader>
118-
</PrecompiledHeader>
117+
<PrecompiledHeader>Use</PrecompiledHeader>
119118
</ClCompile>
120119
<Link>
121120
</Link>
@@ -213,6 +212,9 @@
213212
</ItemGroup>
214213
<ItemGroup>
215214
<ClCompile Include="golomb_lut.cpp" />
215+
<ClCompile Include="pch.cpp">
216+
<PrecompiledHeader>Create</PrecompiledHeader>
217+
</ClCompile>
216218
<ClCompile Include="quantization_lut.cpp" />
217219
<ClCompile Include="validate_spiff_header.cpp" />
218220
<ClCompile Include="version.cpp" />
@@ -242,6 +244,7 @@
242244
<ClInclude Include="color_transform.hpp" />
243245
<ClInclude Include="conditional_static_cast.hpp" />
244246
<ClInclude Include="constants.hpp" />
247+
<ClInclude Include="pch.hpp" />
245248
<ClInclude Include="regular_mode_context.hpp" />
246249
<ClInclude Include="run_mode_context.hpp" />
247250
<ClInclude Include="copy_to_line_buffer.hpp" />

src/CharLS.vcxproj.filters

+8-2
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@
3131
<ClCompile Include="quantization_lut.cpp">
3232
<Filter>Source Files</Filter>
3333
</ClCompile>
34-
<ClCompile Include="..\include\charls\charls.ixx">
35-
<Filter>Header Files</Filter>
34+
<ClCompile Include="pch.cpp">
35+
<Filter>Source Files</Filter>
3636
</ClCompile>
3737
</ItemGroup>
3838
<ItemGroup>
@@ -156,6 +156,9 @@
156156
<ClInclude Include="..\include\charls\undef_macros.h">
157157
<Filter>Header Files</Filter>
158158
</ClInclude>
159+
<ClInclude Include="pch.hpp">
160+
<Filter>Header Files</Filter>
161+
</ClInclude>
159162
</ItemGroup>
160163
<ItemGroup>
161164
<ResourceCompile Include="charls.rc" />
@@ -171,6 +174,9 @@
171174
<Filter>Design</Filter>
172175
</None>
173176
<None Include="packages.config" />
177+
<None Include="..\include\charls\charls.ixx">
178+
<Filter>Header Files</Filter>
179+
</None>
174180
</ItemGroup>
175181
<ItemGroup>
176182
<Filter Include="Header Files">

src/charls.rc

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
// Copyright (c) Team CharLS.
1+
// SPDX-FileCopyrightText: © 2011 Team CharLS
22
// SPDX-License-Identifier: BSD-3-Clause
33

44
#pragma code_page(65001)
55

6-
#include "charls/version.h"
6+
#include <charls/version.h>
77

88
#include <winresrc.h>
99

@@ -41,7 +41,7 @@ BEGIN
4141
VALUE "FileVersion", VERSION_STR
4242
VALUE "InternalName", "CharLS.dll"
4343
VALUE "LegalCopyright", "Copyright (c) Team CharLS"
44-
VALUE "OriginalFilename", "charls-2-x86/x64.dll"
44+
VALUE "OriginalFilename", "charls-3-x86/x64.dll"
4545
VALUE "ProductName", "CharLS JPEG-LS codec"
4646
VALUE "ProductVersion", VERSION_STR
4747
END

src/charls_jpegls_decoder.cpp

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1-
// Copyright (c) Team CharLS.
1+
// SPDX-FileCopyrightText: © 2019 Team CharLS
22
// SPDX-License-Identifier: BSD-3-Clause
33

4-
#include "charls/charls_jpegls_decoder.h"
4+
#include "pch.hpp"
5+
6+
#include <charls/charls_jpegls_decoder.h>
57

68
#include "constants.hpp"
79
#include "jpeg_stream_reader.hpp"

src/charls_jpegls_encoder.cpp

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
// Copyright (c) Team CharLS.
1+
// SPDX-FileCopyrightText: © 2019 Team CharLS
22
// SPDX-License-Identifier: BSD-3-Clause
33

4-
#include "charls/charls_jpegls_encoder.h"
4+
#include "pch.hpp"
55

6-
#include "charls/version.h"
6+
#include <charls/charls_jpegls_encoder.h>
7+
#include <charls/version.h>
78

89
#include "color_transform.hpp"
910
#include "jpeg_stream_writer.hpp"

src/coding_parameters.hpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
// Copyright (c) Team CharLS.
1+
// SPDX-FileCopyrightText: © 2020 Team CharLS
22
// SPDX-License-Identifier: BSD-3-Clause
33

44
#pragma once
55

6-
#include "charls/public_types.h"
6+
#include <charls/public_types.h>
77

88
namespace charls {
99

src/golomb_lut.cpp

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
// Copyright (c) Team CharLS.
1+
// SPDX-FileCopyrightText: © 2023 Team CharLS
22
// SPDX-License-Identifier: BSD-3-Clause
33

4+
#include "pch.hpp"
5+
46
#include "golomb_lut.hpp"
57

68
#include "conditional_static_cast.hpp"

src/jpeg_stream_reader.cpp

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
// Copyright (c) Team CharLS.
1+
// SPDX-FileCopyrightText: © 2009 Team CharLS
22
// SPDX-License-Identifier: BSD-3-Clause
33

4+
#include "pch.hpp"
5+
46
#include "jpeg_stream_reader.hpp"
57

68
#include "color_transform.hpp"

src/jpeg_stream_reader.hpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
// Copyright (c) Team CharLS.
1+
// SPDX-FileCopyrightText: © 2009 Team CharLS
22
// SPDX-License-Identifier: BSD-3-Clause
33

44
#pragma once
55

6-
#include "charls/public_types.h"
6+
#include <charls/public_types.h>
77

88
#include "coding_parameters.hpp"
99
#include "span.hpp"

src/jpeg_stream_writer.cpp

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
// Copyright (c) Team CharLS.
1+
// SPDX-FileCopyrightText: © 2009 Team CharLS
22
// SPDX-License-Identifier: BSD-3-Clause
33

4+
#include "pch.hpp"
5+
46
#include "jpeg_stream_writer.hpp"
57

68
#include "constants.hpp"

src/jpeg_stream_writer.hpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
// Copyright (c) Team CharLS.
1+
// SPDX-FileCopyrightText: © 2014 Team CharLS
22
// SPDX-License-Identifier: BSD-3-Clause
33

44
#pragma once
55

6-
#include "charls/jpegls_error.hpp"
6+
#include <charls/jpegls_error.hpp>
77

88
#include "constants.hpp"
99
#include "jpeg_marker_code.hpp"

src/jpegls_error.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
// Copyright (c) Team CharLS.
1+
// SPDX-FileCopyrightText: © 2018 Team CharLS
22
// SPDX-License-Identifier: BSD-3-Clause
33

4-
#include "charls/jpegls_error.hpp"
4+
#include "pch.hpp"
55

6-
#include <string>
6+
#include <charls/jpegls_error.hpp>
77

88
namespace charls {
99

src/jpegls_preset_coding_parameters.hpp

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
// Copyright (c) Team CharLS.
1+
// SPDX-FileCopyrightText: © 2018 Team CharLS
22
// SPDX-License-Identifier: BSD-3-Clause
33

44
#pragma once
55

6-
#include "charls/public_types.h"
6+
#include <charls/public_types.h>
7+
78
#include "jpegls_algorithm.hpp"
89
#include "util.hpp"
910

src/make_scan_codec.cpp

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
// Copyright (c) Team CharLS.
1+
// SPDX-FileCopyrightText: © 2009 Team CharLS
22
// SPDX-License-Identifier: BSD-3-Clause
33

4+
#include "pch.hpp"
5+
46
#include "make_scan_codec.hpp"
57

68
#include "default_traits.hpp"

src/pch.cpp

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
// SPDX-FileCopyrightText: © 2025 Team CharLS
2+
// SPDX-License-Identifier: BSD-3-Clause
3+
4+
#include "pch.hpp"

src/pch.hpp

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// SPDX-FileCopyrightText: © 2025 Team CharLS
2+
// SPDX-License-Identifier: BSD-3-Clause
3+
4+
#pragma once
5+
6+
#include <algorithm>
7+
#include <array>
8+
#include <cmath>
9+
#include <cstddef>
10+
#include <cstdint>
11+
#include <cstdlib>
12+
#include <cstring>
13+
#include <functional>
14+
#include <limits>
15+
#include <memory>
16+
#include <new>
17+
#include <numeric>
18+
#include <system_error>
19+
#include <type_traits>
20+
#include <utility>
21+
#include <vector>

src/quantization_lut.cpp

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1-
// Copyright (c) Team CharLS.
1+
// SPDX-FileCopyrightText: © 2023 Team CharLS
22
// SPDX-License-Identifier: BSD-3-Clause
33

4+
#include "pch.hpp"
5+
46
#include "quantization_lut.hpp"
57

6-
#include "charls/public_types.h"
8+
#include <charls/public_types.h>
79
#include "jpegls_algorithm.hpp"
8-
910
#include "jpegls_preset_coding_parameters.hpp"
1011

1112
namespace charls {

src/scan_decoder.hpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
// Copyright (c) Team CharLS.
1+
// SPDX-FileCopyrightText: © 2009 Team CharLS
22
// SPDX-License-Identifier: BSD-3-Clause
33

44
#pragma once
55

6-
#include "charls/jpegls_error.hpp"
6+
#include <charls/jpegls_error.hpp>
77

88
#include "copy_from_line_buffer.hpp"
99
#include "jpeg_marker_code.hpp"

src/util.hpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
// Copyright (c) Team CharLS.
1+
// SPDX-FileCopyrightText: © 2009 Team CharLS
22
// SPDX-License-Identifier: BSD-3-Clause
33

44
#pragma once
55

6-
#include "charls/jpegls_error.hpp"
6+
#include <charls/jpegls_error.hpp>
77

88
#include <cassert>
99
#include <cstdlib>

src/validate_spiff_header.cpp

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1-
// Copyright (c) Team CharLS.
1+
// SPDX-FileCopyrightText: © 2022 Team CharLS
22
// SPDX-License-Identifier: BSD-3-Clause
33

4+
#include "pch.hpp"
5+
6+
#include <charls/validate_spiff_header.h>
47

5-
#include "charls/validate_spiff_header.h"
68
#include "util.hpp"
79

810
using namespace charls;

src/version.cpp

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
// Copyright (c) Team CharLS.
1+
// SPDX-FileCopyrightText: © 2019 Team CharLS
22
// SPDX-License-Identifier: BSD-3-Clause
33

4-
#include "charls/version.h"
4+
#include "pch.hpp"
55

6-
#include "util.hpp"
6+
#include <charls/version.h>
77

8+
#include "util.hpp"
89

910
using namespace charls;
1011

unittest/CharLSUnitTest.vcxproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
<SubSystem>Windows</SubSystem>
6666
<AdditionalLibraryDirectories>$(SolutionDir)build\intermediate\CharLS\$(Platform)\$(Configuration)\</AdditionalLibraryDirectories>
6767
<AdditionalLibraryDirectories Condition="'$(Platform)'=='Win32'">$(SolutionDir)build\intermediate\CharLS\x86\$(Configuration)\</AdditionalLibraryDirectories>
68-
<AdditionalDependencies>make_scan_codec.obj;jpegls_error.obj;jpeg_stream_writer.obj;jpeg_stream_reader.obj;charls_jpegls_decoder.obj;charls_jpegls_encoder.obj;version.obj;validate_spiff_header.obj;golomb_lut.obj;quantization_lut.obj;%(AdditionalDependencies)</AdditionalDependencies>
68+
<AdditionalDependencies>pch.obj;make_scan_codec.obj;jpegls_error.obj;jpeg_stream_writer.obj;jpeg_stream_reader.obj;charls_jpegls_decoder.obj;charls_jpegls_encoder.obj;version.obj;validate_spiff_header.obj;golomb_lut.obj;quantization_lut.obj;%(AdditionalDependencies)</AdditionalDependencies>
6969
</Link>
7070
</ItemDefinitionGroup>
7171
<ItemGroup>

0 commit comments

Comments
 (0)