你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

Centos下使用Clion,nginx的CMakeLists.txt,分3步配置。

2021/12/9 19:26:26

nginx的配置:
./configure --with-http_ssl_module --with-http_v2_module

Clion下的CMakeLists.txt

(1)将Nginx的代码全部加入CMakeLists.txt

cmake_minimum_required(VERSION 3.12)
project(nginx)

set(CMAKE_CXX_STANDARD 14)

include_directories(objs)
include_directories(src/core)
include_directories(src/event)
include_directories(src/http)
include_directories(src/http/modules)
include_directories(src/http/modules/perl)
include_directories(src/http/v2)
include_directories(src/mail)
include_directories(src/os/unix)
include_directories(src/stream)
include_directories(src/util)

#(2)加入这行
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -L /usr/lib64/ -ldl -lpthread -lcrypt -lpcre -lcrypto -lssl -lz  -Wl,-E  -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g ")

#(3)注释掉其他没有用到的模块,不相关的代码
add_executable(nginx
        objs/ngx_auto_config.h
#        objs/ngx_auto_headers.h
        objs/ngx_modules.c
        src/core/nginx.c
        src/core/nginx.h
        src/core/ngx_array.c
        src/core/ngx_array.h
        src/core/ngx_buf.c
        src/core/ngx_buf.h
        src/core/ngx_conf_file.c
        src/core/ngx_conf_file.h
        src/core/ngx_config.h
        src/core/ngx_connection.c
        src/core/ngx_connection.h
        src/core/ngx_core.h
        src/core/ngx_cpuinfo.c
        src/core/ngx_crc.h
        src/core/ngx_crc32.c
        src/core/ngx_crc32.h
        src/core/ngx_crypt.c
        src/core/ngx_crypt.h
        src/core/ngx_cycle.c
        src/core/ngx_cycle.h
        src/core/ngx_file.c
        src/core/ngx_file.h
        src/core/ngx_hash.c
        src/core/ngx_hash.h
        src/core/ngx_inet.c
        src/core/ngx_inet.h
        src/core/ngx_list.c
        src/core/ngx_list.h
        src/core/ngx_log.c
        src/core/ngx_log.h
        src/core/ngx_md5.c
        src/core/ngx_md5.h
        src/core/ngx_module.c
        src/core/ngx_module.h
        src/core/ngx_murmurhash.c
        src/core/ngx_murmurhash.h
        src/core/ngx_open_file_cache.c
        src/core/ngx_open_file_cache.h
        src/core/ngx_output_chain.c
        src/core/ngx_palloc.c
        src/core/ngx_palloc.h
        src/core/ngx_parse.c
        src/core/ngx_parse.h
        src/core/ngx_parse_time.c
        src/core/ngx_parse_time.h
        src/core/ngx_proxy_protocol.c
        src/core/ngx_proxy_protocol.h
        src/core/ngx_queue.c
        src/core/ngx_queue.h
        src/core/ngx_radix_tree.c
        src/core/ngx_radix_tree.h
        src/core/ngx_rbtree.c
        src/core/ngx_rbtree.h
        src/core/ngx_regex.c
        src/core/ngx_regex.h
        src/core/ngx_resolver.c
        src/core/ngx_resolver.h
        src/core/ngx_rwlock.c
        src/core/ngx_rwlock.h
        src/core/ngx_sha1.c
        src/core/ngx_sha1.h
        src/core/ngx_shmtx.c
        src/core/ngx_shmtx.h
        src/core/ngx_slab.c
        src/core/ngx_slab.h
        src/core/ngx_spinlock.c
        src/core/ngx_string.c
        src/core/ngx_string.h
        src/core/ngx_syslog.c
        src/core/ngx_syslog.h
#        src/core/ngx_thread_pool.c
#        src/core/ngx_thread_pool.h
        src/core/ngx_times.c
        src/core/ngx_times.h
#        src/event/modules/ngx_devpoll_module.c
        src/event/modules/ngx_epoll_module.c
#        src/event/modules/ngx_eventport_module.c
#        src/event/modules/ngx_kqueue_module.c
#        src/event/modules/ngx_poll_module.c
#        src/event/modules/ngx_select_module.c
#        src/event/modules/ngx_win32_poll_module.c
#        src/event/modules/ngx_win32_select_module.c
        src/event/ngx_event.c
        src/event/ngx_event.h
        src/event/ngx_event_accept.c
        src/event/ngx_event_connect.c
        src/event/ngx_event_connect.h
        src/event/ngx_event_openssl.c
        src/event/ngx_event_openssl.h
        src/event/ngx_event_openssl_stapling.c
        src/event/ngx_event_pipe.c
        src/event/ngx_event_pipe.h
        src/event/ngx_event_posted.c
        src/event/ngx_event_posted.h
        src/event/ngx_event_timer.c
        src/event/ngx_event_timer.h
        src/event/ngx_event_udp.c
#        src/http/modules/perl/ngx_http_perl_module.c
#        src/http/modules/perl/ngx_http_perl_module.h
        src/http/modules/ngx_http_access_module.c
#        src/http/modules/ngx_http_addition_filter_module.c
        src/http/modules/ngx_http_auth_basic_module.c
#        src/http/modules/ngx_http_auth_request_module.c
        src/http/modules/ngx_http_autoindex_module.c
        src/http/modules/ngx_http_browser_module.c
        src/http/modules/ngx_http_charset_filter_module.c
        src/http/modules/ngx_http_chunked_filter_module.c
#        src/http/modules/ngx_http_dav_module.c
#        src/http/modules/ngx_http_degradation_module.c
        src/http/modules/ngx_http_empty_gif_module.c
        src/http/modules/ngx_http_fastcgi_module.c
#        src/http/modules/ngx_http_flv_module.c
        src/http/modules/ngx_http_geo_module.c
#        src/http/modules/ngx_http_geoip_module.c
        src/http/modules/ngx_http_grpc_module.c
#        src/http/modules/ngx_http_gunzip_filter_module.c
        src/http/modules/ngx_http_gzip_filter_module.c
#        src/http/modules/ngx_http_gzip_static_module.c
        src/http/modules/ngx_http_headers_filter_module.c
#        src/http/modules/ngx_http_image_filter_module.c
        src/http/modules/ngx_http_index_module.c
        src/http/modules/ngx_http_limit_conn_module.c
        src/http/modules/ngx_http_limit_req_module.c
        src/http/modules/ngx_http_log_module.c
        src/http/modules/ngx_http_map_module.c
        src/http/modules/ngx_http_memcached_module.c
        src/http/modules/ngx_http_mirror_module.c
#        src/http/modules/ngx_http_mp4_module.c
        src/http/modules/ngx_http_not_modified_filter_module.c
        src/http/modules/ngx_http_proxy_module.c
#        src/http/modules/ngx_http_random_index_module.c
        src/http/modules/ngx_http_range_filter_module.c
#        src/http/modules/ngx_http_realip_module.c
        src/http/modules/ngx_http_referer_module.c
        src/http/modules/ngx_http_rewrite_module.c
        src/http/modules/ngx_http_scgi_module.c
#        src/http/modules/ngx_http_secure_link_module.c
#        src/http/modules/ngx_http_slice_filter_module.c
        src/http/modules/ngx_http_split_clients_module.c
        src/http/modules/ngx_http_ssi_filter_module.c
        src/http/modules/ngx_http_ssi_filter_module.h
        src/http/modules/ngx_http_ssl_module.c
#        src/http/modules/ngx_http_ssl_module.h
        src/http/modules/ngx_http_static_module.c
#        src/http/modules/ngx_http_stub_status_module.c
#        src/http/modules/ngx_http_sub_filter_module.c
        src/http/modules/ngx_http_try_files_module.c
        src/http/modules/ngx_http_upstream_hash_module.c
        src/http/modules/ngx_http_upstream_ip_hash_module.c
        src/http/modules/ngx_http_upstream_keepalive_module.c
        src/http/modules/ngx_http_upstream_least_conn_module.c
        src/http/modules/ngx_http_upstream_random_module.c
        src/http/modules/ngx_http_upstream_zone_module.c
        src/http/modules/ngx_http_userid_filter_module.c
        src/http/modules/ngx_http_uwsgi_module.c
#        src/http/modules/ngx_http_xslt_filter_module.c
        src/http/ngx_http.c
        src/http/ngx_http.h
        src/http/ngx_http_cache.h
        src/http/ngx_http_config.h
        src/http/ngx_http_copy_filter_module.c
        src/http/ngx_http_core_module.c
        src/http/ngx_http_core_module.h
        src/http/ngx_http_file_cache.c
        src/http/ngx_http_header_filter_module.c
        src/http/ngx_http_parse.c
        src/http/ngx_http_postpone_filter_module.c
        src/http/ngx_http_request.c
        src/http/ngx_http_request.h
        src/http/ngx_http_request_body.c
        src/http/ngx_http_script.c
        src/http/ngx_http_script.h
        src/http/ngx_http_special_response.c
        src/http/ngx_http_upstream.c
        src/http/ngx_http_upstream.h
        src/http/ngx_http_upstream_round_robin.c
        src/http/ngx_http_upstream_round_robin.h
        src/http/ngx_http_variables.c
        src/http/ngx_http_variables.h
        src/http/ngx_http_write_filter_module.c
        src/http/v2/ngx_http_v2.c
        src/http/v2/ngx_http_v2.h
        src/http/v2/ngx_http_v2_encode.c
        src/http/v2/ngx_http_v2_filter_module.c
        src/http/v2/ngx_http_v2_huff_decode.c
        src/http/v2/ngx_http_v2_huff_encode.c
        src/http/v2/ngx_http_v2_module.c
        src/http/v2/ngx_http_v2_module.h
        src/http/v2/ngx_http_v2_table.c
#        src/mail/ngx_mail.c
#        src/mail/ngx_mail.h
#        src/mail/ngx_mail_auth_http_module.c
#        src/mail/ngx_mail_core_module.c
#        src/mail/ngx_mail_handler.c
#        src/mail/ngx_mail_imap_handler.c
#        src/mail/ngx_mail_imap_module.c
#        src/mail/ngx_mail_imap_module.h
#        src/mail/ngx_mail_parse.c
#        src/mail/ngx_mail_pop3_handler.c
#        src/mail/ngx_mail_pop3_module.c
#        src/mail/ngx_mail_pop3_module.h
#        src/mail/ngx_mail_proxy_module.c
#        src/mail/ngx_mail_realip_module.c
#        src/mail/ngx_mail_smtp_handler.c
#        src/mail/ngx_mail_smtp_module.c
#        src/mail/ngx_mail_smtp_module.h
#        src/mail/ngx_mail_ssl_module.c
#        src/mail/ngx_mail_ssl_module.h
#        src/misc/ngx_cpp_test_module.cpp
#        src/misc/ngx_google_perftools_module.c
        src/os/unix/ngx_alloc.c
        src/os/unix/ngx_alloc.h
        src/os/unix/ngx_atomic.h
        src/os/unix/ngx_channel.c
        src/os/unix/ngx_channel.h
        src/os/unix/ngx_daemon.c
#        src/os/unix/ngx_darwin.h
#        src/os/unix/ngx_darwin_config.h
#        src/os/unix/ngx_darwin_init.c
#        src/os/unix/ngx_darwin_sendfile_chain.c
        src/os/unix/ngx_dlopen.c
        src/os/unix/ngx_dlopen.h
        src/os/unix/ngx_errno.c
        src/os/unix/ngx_errno.h
#        src/os/unix/ngx_file_aio_read.c
        src/os/unix/ngx_files.c
        src/os/unix/ngx_files.h
#        src/os/unix/ngx_freebsd.h
#        src/os/unix/ngx_freebsd_config.h
#        src/os/unix/ngx_freebsd_init.c
#        src/os/unix/ngx_freebsd_sendfile_chain.c
#        src/os/unix/ngx_gcc_atomic_amd64.h
#        src/os/unix/ngx_gcc_atomic_ppc.h
#        src/os/unix/ngx_gcc_atomic_sparc64.h
        src/os/unix/ngx_gcc_atomic_x86.h
        src/os/unix/ngx_linux.h
#        src/os/unix/ngx_linux_aio_read.c
        src/os/unix/ngx_linux_config.h
        src/os/unix/ngx_linux_init.c
        src/os/unix/ngx_linux_sendfile_chain.c
        src/os/unix/ngx_os.h
#        src/os/unix/ngx_posix_config.h
        src/os/unix/ngx_posix_init.c
        src/os/unix/ngx_process.c
        src/os/unix/ngx_process.h
        src/os/unix/ngx_process_cycle.c
        src/os/unix/ngx_process_cycle.h
        src/os/unix/ngx_readv_chain.c
        src/os/unix/ngx_recv.c
        src/os/unix/ngx_send.c
        src/os/unix/ngx_setaffinity.c
        src/os/unix/ngx_setaffinity.h
        src/os/unix/ngx_setproctitle.c
        src/os/unix/ngx_setproctitle.h
        src/os/unix/ngx_shmem.c
        src/os/unix/ngx_shmem.h
        src/os/unix/ngx_socket.c
        src/os/unix/ngx_socket.h
#        src/os/unix/ngx_solaris.h
#        src/os/unix/ngx_solaris_config.h
#        src/os/unix/ngx_solaris_init.c
#        src/os/unix/ngx_solaris_sendfilev_chain.c
#        src/os/unix/ngx_sunpro_atomic_sparc64.h
        src/os/unix/ngx_thread.h
#        src/os/unix/ngx_thread_cond.c
#        src/os/unix/ngx_thread_id.c
#        src/os/unix/ngx_thread_mutex.c
        src/os/unix/ngx_time.c
        src/os/unix/ngx_time.h
        src/os/unix/ngx_udp_recv.c
        src/os/unix/ngx_udp_send.c
        src/os/unix/ngx_udp_sendmsg_chain.c
        src/os/unix/ngx_user.c
        src/os/unix/ngx_user.h
        src/os/unix/ngx_writev_chain.c
#        src/stream/ngx_stream.c
#        src/stream/ngx_stream.h
#        src/stream/ngx_stream_access_module.c
#        src/stream/ngx_stream_core_module.c
#        src/stream/ngx_stream_geo_module.c
#        src/stream/ngx_stream_geoip_module.c
#        src/stream/ngx_stream_handler.c
#        src/stream/ngx_stream_limit_conn_module.c
#        src/stream/ngx_stream_log_module.c
#        src/stream/ngx_stream_map_module.c
#        src/stream/ngx_stream_proxy_module.c
#        src/stream/ngx_stream_realip_module.c
#        src/stream/ngx_stream_return_module.c
#        src/stream/ngx_stream_script.c
#        src/stream/ngx_stream_script.h
#        src/stream/ngx_stream_set_module.c
#        src/stream/ngx_stream_split_clients_module.c
#        src/stream/ngx_stream_ssl_module.c
#        src/stream/ngx_stream_ssl_module.h
#        src/stream/ngx_stream_ssl_preread_module.c
#        src/stream/ngx_stream_upstream.c
#        src/stream/ngx_stream_upstream.h
#        src/stream/ngx_stream_upstream_hash_module.c
#        src/stream/ngx_stream_upstream_least_conn_module.c
#        src/stream/ngx_stream_upstream_random_module.c
#        src/stream/ngx_stream_upstream_round_robin.c
#        src/stream/ngx_stream_upstream_round_robin.h
#        src/stream/ngx_stream_upstream_zone_module.c
#        src/stream/ngx_stream_variables.c
#        src/stream/ngx_stream_variables.h
#        src/stream/ngx_stream_write_filter_module.c
)